Spring MVC 常用注解

目录

基础概念

常用注解介绍


基础概念

1、MVC :代表一种软件架构设计思想,通俗的理解:客户端发送请求到后台服务器的Controller(C),控制器调用Model(M)来处理业务逻辑,处理完成后,返回处理后的数据到View(V)

2、Spring MVC: 是基于MVC设计思想实现的一种框架,它的核心是控制器Controller,所有控制器对象也会被Spring IOC容器管理

3、REST:Representational State Transfer 表述性状态传递,资源在网络中以某种表现形式进行状态转移

4、Restful:基于REST理念形成的一套开发风格,是具体的开发规则,规则示意图如下:

各类客户端发送RestFul风格的API 到后台服务器,服务器只返回数据到各个客户端,至于每种客户端怎么展示数据,由客户端决定。这有别于传统的Web应用,它会返回html(由servlet渲染)并且包含跳转逻辑,引入Rest 开发风格后,这些逻辑由客户端决定。

常用注解介绍

  • @GetMapping 绑定GET请求,注解作用在方法上

  • @PostMapping 绑定Post请求,注解作用在方法上

  • @RequestMapping 通用注解,通常用在Controller上,用于请求URL的前缀

  • @Controller 控制器类,作用在类上,@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面
  • @ResponseBody 作用在方法上,标识返回实体对象,使用此注解后,方法返回的数据会直接写入HTTP响应体中。‌

  • @RestController 作用在类上,此注解相当于 @Controller 和 @ResponseBody 的结合,此注解可以创建RESTful风格的数据,主要有get、post、put、delete等,可以方便地处理输出和输入的JSON或XML数据,适用于前后端分离的架构。
  • @PathVariable ,作用在参数上,将‌URL中的路径参数绑定到方法的参数上

  • @RequestParam,作用在参数上,请求参数

  • @RequestBody,作用在参数上,用于获取请求体的数据,请求体可以放置各类数据(html,字符串,json,xml等)一个请求,只有一个RequestBody,但可以有多个RequestParam

对于每次请求的数据较多,参数较多,建议将请求数据放在http请求体中,多个参数建议封装成一个bean对象接收

  • @CrossOrigin,作用在类或方法上,用于处理跨域资源共享(CORS)问题。通过额外的HTTP头来告诉浏览器允许来自不同源的服务器上的资源被访问。作用在类上,该类中的所有方法都启用跨域支持;作用在方法上,只会使该方法启用跨域支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/887985.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Deformable Transformer论文笔记

原文链接 [2010.04159] Deformable DETR: Deformable Transformers for End-to-End Object Detection (arxiv.org)https://arxiv.org/abs/2010.04159 原文笔记 What 作者结合了可变形卷积的稀疏空间采样和 Transformer 的关系建模能力的优点。提出了Deformable Detr Defor…

文心一言 VS 讯飞星火 VS chatgpt (359)-- 算法导论24.3 1题

一、在图 24-2上运行Dijkstra算法,第一次使用结点 s s s作为源结点,第二次使用结点 z z z作为源结点。以类似于图 24-6 的风格,给出每次while循环后的 d d d值和 π π π值,以及集合 S S S中的所有结点。如果要写代码&#xff0c…

CSRF | GET 型 CSRF 漏洞攻击

关注这个漏洞的其他相关笔记:CSRF 漏洞 - 学习手册-CSDN博客 0x01:GET 型 CSRF 漏洞攻击 —— 理论篇 GET 型 CSRF 漏洞是指攻击者通过构造恶意的 HTTP GET 请求,利用用户的登录状态,在用户不知情的情况下,诱使浏览器…

PCIe配置篇(1)——如何进行配置操作(一)

一、功能的唯一标识——BDF 首先我们简单回顾一下总线(Bus)、设备(Device)、功能(Function)这几个概念: 功能(function):是PCI设备中独立的功能单元&#xff…

【GitHub】上传文件到GitHub

参考视频:手把手教你在github上传文件_哔哩哔哩_bilibili 1.找到文件夹右键,选择open git bash here 2.完成指令 git initgit add *git commit -m "first commit"3.打开该文件夹,打开隐藏文件.git/config 编辑输入邮箱和GitHub用…

OpenJudge | 置换选择排序

总时间限制: 1000ms 内存限制: 65536kB 描述 给定初始整数顺串,以及大小固定并且初始元素已知的二叉最小堆(为完全二叉树或类似完全二叉树,且父元素键值总小于等于任何一个子结点的键值),要求利用堆实现置换选择排序&a…

【C++】--类和对象(2)

👌个人主页: 起名字真南 👆个人专栏:【数据结构初阶】 【C语言】 【C】 目录 1 类的默认成员函数2 构造函数3 析构函数4 拷贝构造5 赋值运算符重载5.1 运算符重载5.2 赋值运算符的重载 1 类的默认成员函数 默认成员函数就是用户没有显示实现,…

【Kubernetes】常见面试题汇总(五十三)

目录 118. pod 状态为 ErrlmagePull ? 119.探测存活 pod 状态为 CrashLoopBackOff ? 特别说明: 题目 1-68 属于【Kubernetes】的常规概念题,即 “ 汇总(一)~(二十二)” 。…

Bloom Filter 布隆过滤器

目录 简介 Bloom Filter的基本原理 实现 使用 HashFunc越多,性能越好吗? 如何尽量避免误判? 应用 布隆过滤器优点 简介 Bloom Filter是一种空间效率极高的概率数据结构,它用于测试一个元素是否属于集合。Bloom Filter的优…

【NoSQL】portswigger NoSQL注入 labs 全解

目录 NoSQL NoSQL 数据库模型 NoSQL 注入的类型 NoSQL 语法注入 检测 MongoDB 中的语法注入 lab1:检测 NoSQL 注入 NoSQL 运算符注入 提交查询运算符 检测 MongoDB 中的运算符注入 lab2:利用 NoSQL 运算符注入绕过身份验证 利用语法注入来提取数据 MongoDB 中的数据…

【rust/egui/android】在android中使用egui库

文章目录 说在前面AndroidStudio安装编译安装运行问题 说在前面 操作系统:windows11java版本:23android sdk版本:35android ndk版本:22rust版本: AndroidStudio安装 安装AndroidStudio是为了安装sdk、ndk,…

大数据实时数仓Hologres(三):存储格式介绍

文章目录 存储格式介绍 一、格式 二、使用建议 三、技术原理 1、列存 2、行存 3、行列共存 四、使用示例 存储格式介绍 一、格式 在Hologres中支持行存、列存和行列共存三种存储格式,不同的存储格式适用于不同的场景。在建表时通过设置orientation属性指定表的存储…

【重学 MySQL】五十三、MySQL数据类型概述和字符集设置

【重学 MySQL】五十三、MySQL数据类型概述和字符集设置 MySQL数据类型概述MySQL字符集设置注意事项 MySQL数据类型概述 MySQL是一个流行的关系型数据库管理系统,它支持多种数据类型,以满足不同数据处理和存储的需求。理解并正确使用这些数据类型对于提高…

Linux性能调优技巧

目录 前言1. CPU性能优化1.1 调整CPU调度策略1.2 合理分配多核处理 2. 内存性能优化2.1 调整内存分配策略2.2 缓存和分页优化 3. 磁盘I/O性能优化3.1 使用合适的I/O调度器3.2 磁盘分区和文件系统优化 4. 网络性能优化4.1 优化网络参数4.2 调整网络拥塞控制算法 5. 系统监控与优…

【机器学习】网络安全——异常检测与入侵防御系统

我的主页:2的n次方_ 随着全球互联网和数字基础设施的不断扩展,网络攻击的数量和复杂性都在显著增加。从传统的病毒和蠕虫攻击到现代复杂的高级持续性威胁(APT),网络攻击呈现出更加智能化和隐蔽化的趋势。面对这样的…

Kotlin 处理字符串和正则表达式(二十一)

导读大纲 1.1 处理字符串和正则表达式1.1.1 分割字符串1.1.2 正则表达式和三引号字符串1.1.3 多行三引号字符串IntelliJ IDEA 和 Android Studio 中三重引号字符串内部的语法高亮显示 1.1 处理字符串和正则表达式 Kotlin 字符串与 Java 字符串完全相同 可以将 Kotlin 代码中创建…

Python_文件处理

一个完整的程序一般都包括数据的存储和读取;我们在前面写的程序数据都没有进行实际的存储,因此python解释器执行完数据就消失了。实际开发中,我们经常需要从外部存储介质(硬盘、光盘、U盘等)读取数据,或者将…

查缺补漏----IP通信过程

1.DHCP协议 H3刚接入网络时,只知道自己的MAC地址,所以需要通过DHCP协议请求自己的IP地址。 通过DHCP协议,得到IP地址、子网掩码、网关与DNS服务器IP地址。 DHCP协议是应用层协议(传输层为UDP),请求报文是广播(H3不知…

‌在Python中,print(f‘‘)是什么?

‌在Python中,print(f’)表示使用f-string对字符串进行格式化输出。‌ f-string是Python 3.6及以上版本引入的一种新的字符串格式化机制,它允许在字符串中直接嵌入表达式,这些表达式在运行时会被其值所替换。使用f-string可以更方便地将变量的…

国庆节快乐前端(HTML+CSS+JavaScript+BootStrap.min.css)

一、效果展示 二、制作缘由 最近,到了国庆节,自己呆在学校当守校人,太无聊了,顺便做一个小demo帮祖国目前庆生!!! 三、项目目录结构 四、准备工作 (1)新建好对应的文件目录 为了方便&#xff…