- @PathVariable 路径变量
- @RequestParam 获取请求参数
- @RequestHeader 获取请求头
- @RequestBody 获取请求体【Post】
- @CookieValue 获取Cookie值
- RequestAttribute 获取request域属性
- @ModelAttribute
1. @PathVariable
该注解主要用于rest风格的搭配使用,请求路径中不再以k:v
的形式给出请求参数和值;而是直接给定一个值。如果方法参数是一个Map<String, String>
将会包含路径中所有的变量与值。
2. @RequestParam
该注解主要用于获取请求参数名称,设置参数是否可用可无以及默认值。
3. @RequestHeader
该注解主要用于获取请求头header中的数据,客户端请求之后可以拿到一些头部携带的参数。支持传统的SpringMVC,也支持WebFlux响应式。如果方法参数是一个Map<String, String>
将会包含所有的请求头与值。
4. @RequestBody
该注解主要获取表单或者ajax
提交的内容,将表单中提交的参数与值获取全部获取出来。即获取请求体(请求必须是post请求–@PostMapping),一般情况下都会使用@RequestBody注解将参数映射到pojo类的能力,但是要保证前后传入的参数名是一样的。
5. @CookieValue
该注解主要用于获取Cookie值
6. @RequestAttribute
该注解主要用在请求转发时,如果页面无法直接跳转(如WEB-INF下的success页面)可以使用转发的手段。当进行转发时可以在请求中携带上请求的参数,转发会携带上一次请求的参数(一次完整的请求包括转发)
由于是同一次请求,因此也可以直接拿到原生的HttpServletRequest,然后从这里面拿参数和属性也都是可以的【获取request域属性】。
7. @ModelAttribute
-
用法1:用在入参
-
用法2:用在方法上
🔗@ModelAttribute—链接