spring-mvc-boot-4 获取控制器参数

一、注释

@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

猜你喜欢

转载自blog.csdn.net/lidongliangzhicai/article/details/91971578
今日推荐