一、注释
@RequestParam
@RequestBody
@PathVariable
@DateTimeFormat
@NumberFormat
二、获取参数
1、在无注解下获取参数
注 1.在无注解下获取参数,要求参数名称和HTTP请求参数名称一致.会自动获取。
注 2.在无注解下获取数组参数
2、@RequestParam获取参数
注:使用@RequestParam 获取参数[在方法参数之前添加注释]
3、获取json参数
注:@RequestBody [注释参数] 意味着它将接收前端提交的 JSON 请求体,而在 JSON 请求体与 User 类之间的属性名称是保持一致的,这样 Spring MVC 就会通过这层映射关系将 JSON 请求体转换为 User 对象。
public Map<String,Object> vaildUser( @RequestBody User user, Errors errors)
注:@RequestBody使用:
(1)@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。
(2)通过@requestBody可以将请求体中的JSON字符串绑定到相应的bean上,当然,也可以将其分别绑定到对应的字符串上。
login(@requestBody String userName,@requestBody String pwd){}
4、通过URL传递参数
注 1.@GetMapping 指定一个 URL,然后用 {...}来标明参数的位置和名称。
注 2.@PathVariable 配置的字符串为 id,它对应URL 的参数声明。这样 Spring 就知道如何从 URL 中获取参数。于是请求 http://localhost:8080/user/1。
注:@PathVariable使用: 将 URL 中占位符参数绑定到控制器处理方法的入参中
@RequestMapping("/delete/{id}")
delete(@PathVariable("id") Long id)
5、获取格式化参数
@DateTimeFormat(iso=DateTimeFormat.ISO.DATE) Date date, 后台的实体类可以把它转换成Date类型
@NumberFormat(pattern = "#,###.##") Double number 后台的实体类可以把它转换成Double类型
在 Spring Boot 中, 日期参数的格式化也可以不使用@DateTimeFormat ,而 只在配置文件applic at ion.properties 中加入如下配置项即可 :
spring.mvc.date-format=yyyy-MM-dd