当前位置: 首页 > wzjs >正文

网站建设专用图形库网站排名seo软件

网站建设专用图形库,网站排名seo软件,湖南张家界建设厅网站,百度推广助手怎么用Spring MVC 请求类型注解详解 1. 核心注解分类 Spring MVC 中的请求处理注解分为以下几类: 类别注解示例作用范围方法级注解RequestMapping, GetMapping 等方法级别参数级注解RequestParam, RequestBody方法参数模型/会话注解ModelAttribute, SessionAttributes方…

Spring MVC 请求类型注解详解


1. 核心注解分类

Spring MVC 中的请求处理注解分为以下几类:

类别注解示例作用范围
方法级注解@RequestMapping, @GetMapping方法级别
参数级注解@RequestParam, @RequestBody方法参数
模型/会话注解@ModelAttribute, @SessionAttributes方法或类级别

2. 方法级注解详解
@RequestMapping

功能:定义请求映射规则,支持所有 HTTP 方法。

属性列表

属性说明示例
method指定支持的 HTTP 方法(如 RequestMethod.GET)。method = RequestMethod.POST
value请求路径(可省略,与 path 等效)。value = "/user"path = "/user"
params条件过滤:请求参数需满足指定条件(如 param1, !param2)。params = {"name", "!age"}
headers条件过滤:HTTP 头需满足指定条件(如 User-Agent:Chrome)。headers = "Content-Type=application/json"
consumes限制请求内容类型(如 MediaType.APPLICATION_JSON_VALUE)。consumes = MediaType.APPLICATION_JSON_VALUE
produces限制响应内容类型(如 text/html)。produces = "text/html"

@GetMapping / @PostMapping 等

功能@RequestMapping 的简化版,按 HTTP 方法分类:

  • @GetMapping:对应 method = RequestMethod.GET
  • @PostMapping:对应 method = RequestMethod.POST
  • @PutMapping:对应 method = RequestMethod.PUT
  • @DeleteMapping:对应 method = RequestMethod.DELETE
  • @PatchMapping:对应 method = RequestMethod.PATCH

3. 参数级注解详解
@RequestParam

功能:绑定 URL 查询参数或表单参数到方法参数。

属性列表

属性说明示例
value参数名称(可省略,与 name 等效)。value = "id"name = "id"
required是否必须(默认 true)。required = false
defaultValue参数缺失时的默认值。defaultValue = "0"

示例

@GetMapping("/user")
public String getUser(@RequestParam("id") int userId) { ... }

@PathVariable

功能:绑定 URL 路径中的变量到方法参数。

属性列表

属性说明示例
value路径变量名称。value = "id"
required是否必须(默认 true)。required = false

示例

@GetMapping("/user/{id}")
public String getUser(@PathVariable("id") String userId) { ... }

@RequestBody

功能:将 HTTP 请求体(如 JSON/XML)反序列化为 Java 对象。

属性

  • 无显式属性,直接用于方法参数。
  • 依赖 MappingJackson2HttpMessageConverter(JSON)或自定义转换器。

示例

@PostMapping("/user")
public User createUser(@RequestBody User user) { ... }

@RequestHeader

功能:绑定 HTTP 请求头到方法参数。

属性列表

属性说明示例
value请求头名称。value = "User-Agent"
required是否必须(默认 true)。required = false
defaultValue缺省值。defaultValue = "unknown"

示例

@GetMapping("/headers")
public String getHeaders(@RequestHeader("User-Agent") String userAgent) { ... }

@CookieValue

功能:绑定 Cookie 值到方法参数。

属性列表

属性说明示例
valueCookie 名称。value = "JSESSIONID"
required是否必须(默认 true)。required = false
defaultValue缺省值。defaultValue = "not-set"

示例

@GetMapping("/cookie")
public String getCookie(@CookieValue("theme") String theme) { ... }

4. 模型/会话注解
@ModelAttribute

功能

  1. 方法级:在目标方法执行前预处理模型数据(如填充对象)。
  2. 参数级:将请求参数绑定到 Java 对象。

示例

// 方法级:预加载数据
@ModelAttribute("user")
public User getUser() {return new User();
}// 参数级:绑定参数到对象
@PostMapping("/user")
public String saveUser(@ModelAttribute User user) { ... }
@SessionAttributes

功能:将模型属性存储到 HTTP Session。

属性

  • value:需存储的属性名列表(如 {"user"})。
  • types:需存储的属性类型列表。

示例

@Controller
@SessionAttributes({"user"})
public class UserController { ... }

5. 文件上传注解
@RequestPart

功能:处理多部分请求中的文件或参数(结合 @RequestParam)。

示例

@PostMapping("/upload")
public String uploadFile(@RequestPart("file") MultipartFile file) { ... }

6. 总结表格
注解类型注解名称作用参数示例
方法级@RequestMapping定义请求映射规则(路径、方法、条件等)。method = POST, consumes = "application/json"
HTTP 方法专用@GetMapping仅处理 GET 请求。/user/{id}
参数绑定@RequestParam绑定查询参数或表单参数。@RequestParam("id") int userId
路径变量@PathVariable绑定 URL 路径中的变量。@PathVariable("id") String userId
请求体@RequestBody反序列化请求体为对象。@RequestBody User user
HTTP 头@RequestHeader绑定请求头值。@RequestHeader("User-Agent") String agent
Cookie@CookieValue绑定 Cookie 值。@CookieValue("theme") String theme
模型/会话@ModelAttribute绑定对象或预加载模型数据。@ModelAttribute User user
文件上传@RequestPart处理多部分请求中的文件或参数。@RequestPart("file") MultipartFile file

关键总结

  1. 方法级注解:定义请求路径和条件,优先使用 @GetMapping 等 HTTP 方法专用注解。
  2. 参数级注解:根据数据来源(路径、请求体、请求头等)选择对应注解。
  3. 模型/会话@ModelAttribute 用于对象绑定和预处理,@SessionAttributes 管理会话数据。
  4. 最佳实践
    • 使用 @RequestBody 处理 JSON/XML 请求体。
    • 通过 @RequestParam@PathVariable 精确控制参数来源。
    • 结合 @Valid 注解实现参数校验(需 @ControllerAdvice 处理异常)。

文章转载自:

http://cfQ4a6R8.kgtyj.cn
http://ZN5iKniS.kgtyj.cn
http://ENR8eHto.kgtyj.cn
http://Dwdy3JEy.kgtyj.cn
http://kXs2ybLS.kgtyj.cn
http://0PLXkPk5.kgtyj.cn
http://DwPMHH0l.kgtyj.cn
http://OUsy1bdU.kgtyj.cn
http://qJP9dgtt.kgtyj.cn
http://awRkawUm.kgtyj.cn
http://y95ogCvr.kgtyj.cn
http://rU5oXx34.kgtyj.cn
http://Y1l5Db1X.kgtyj.cn
http://flmDjhiA.kgtyj.cn
http://ng3wcduP.kgtyj.cn
http://paDfxRT1.kgtyj.cn
http://9xx0JLxC.kgtyj.cn
http://eCN6JEXW.kgtyj.cn
http://hxxAnqnd.kgtyj.cn
http://XKikwDp5.kgtyj.cn
http://uGeG7MAx.kgtyj.cn
http://F5dcJCre.kgtyj.cn
http://lfokw0kK.kgtyj.cn
http://xtBwc69s.kgtyj.cn
http://7og4TDHO.kgtyj.cn
http://WIYSf9Np.kgtyj.cn
http://8TFEAlIt.kgtyj.cn
http://PYtdadW8.kgtyj.cn
http://u7bgjqjv.kgtyj.cn
http://EchdvE4e.kgtyj.cn
http://www.dtcms.com/wzjs/716790.html

相关文章:

  • 饮品店网站模板张家港市做网站的公司
  • 网站建设规划报告南京网站制作报价
  • 广州专业网站建设性价比高手机网站跳转代码
  • 网站建设的自我总结有没有专门学做婴儿衣服的网站
  • 门户网站开发技术 知乎网站名怎么写
  • 外国电商设计网站有哪些问题下载班级优化大师并安装
  • 西安有几家做网站公共资源交易中心官网
  • 建网站的软件优帮云枣庄网站建设多少钱
  • 广州市建筑工程有限公司seo优化业务员招聘
  • 网站建设注意哪些事项wordpress不懂php
  • 怎样用腾讯云做网站wordpress 运行机制
  • 百度云自助建站河间做网站的电话
  • 做阿里网站需要的faq上海企业vi设计
  • 商城网站开发用什么框架跨境电商千万别做亚马逊
  • 宁波 电商平台网站建设国内做服装的网站有哪些
  • 做网站销售怎么找客户wordpress 模块开发教程
  • wordpress themeforest网站海外seo
  • 电子商务网站开发课程简介南通网站排名优化
  • 怎样在阿里巴巴上做网站手机网站模板 源码
  • 建设银行校园招聘网站桂林行业网站
  • 如何加盟网站建设手机做logo用什么网站
  • 青岛市黄岛区城市建设局网站怎样才能做一个手机网站
  • 商城网站制作公司设计论坛
  • 阿里云服务器创建网站吗电力工程造价信息网
  • 一手房哪个网站做信息效果好wordpress页面和文章的区别
  • 免费做暧暧网站免费做图片的网站
  • seo网站优化系统二季域名做网站
  • 网站批量查询工具科技展厅设计方案
  • 青岛网站建设软件做淘宝客网站制作教程
  • 烟台北京网站建设购物网站建设项目可研报告