springboot接收参数的几种方式

2023-02-15 09:15:03
1、四种传参方式 1.1、params 传参格式:?号传参,在地址栏上加参数 http://localhost:8080?参数名=值&参数名=值 1.2、body 传参格式:请求体传参 http://localhost:8080/core/books 1.3、json json传参也是在body当中,只不过json是一种数据格式,后端可以用@RequestBody接收。 1.4、地址栏 地址栏传参,直接通过/在地址上拼接参数值,这种方式不需要在地址栏上写参数名,后端只需要知道他在地址的哪个位置传的参数就可以拿到值 第一种:@RequestParam注解 一、作用: 将指定的请求参数赋值给方法中的形参。 二、接收形式: Get传参请求。 三、属性: (1)value :绑定请求的参数名,默认绑定为同名的形参; (2)required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报错; (3)defaultValue:默认值,表示如果请求中没有接收到值时的默认值。 四、用法示例: @GetMapping("/test") public void test(@RequestParam(required = true)String name,@RequestParam(defaultValue = "20")Integer age) { System.out.println("name:"+name+",age:"+age); } 第二种:@PathVariable注解 一、作用: 接收请求路径中占位符的值。 二、接收形式: Get路径请求。 三、属性: value:String类型,绑定请求的参数名,默认绑定为同名的形参。 四、用法示例: @GetMapping("/selectOne/{id}") public void test(@PathVariable Integer id) { System.out.println("id:"+id); } 第三种:@RequestBody注解 一、作用: 接收前端传递的Json对象的字符串。 二、接收形式: Post请求。 三、用法示例: @PostMapping("/test") public void test(@RequestBody User user){ System.out.println("user:"+user); }