RequestBody
注解接收的是请求体里面的数据。
RequestParam
注解接收的是key-value里面的参数。
在PUT/PATCH/POST
请求的正文(request bodies)中使用JSON格式数据,而不是使用 form 表单形式的数据。
这与我们使用JSON格式返回请求相对应,
使用@RequestBody注解。
post请求、使用@RequestBody接受请求体中的json数据,将请求体中的JSON数据映射到List对象。
注意: 同一个方法里,@RequestBody(接收的是请求体里面的数据)与@RequestParam(接收的是key-value里面的参数)可以同时存在;
@Data
public class User {
private Integer id;
private String name;
private String password;
}
@PostMapping("saveHomeworkRecords")
public void saveStudentHomeworkRecords(@RequestBody(required = true) List<User> users){
// 默认required=true,当List为空时会抛异常,导致无法进入方法体。
// required= false:表示当映射的List为空时不做异常捕抓;
return users;
};
RequestParam
注解接收的是key-value里面的参数、不加注解接收URL中的数据并组装为对象。
@Data
public class User {
Long id;
String username;
Integer age;
}
@RestController
public class UserController {
@PostMapping("saveUser")
public ResponseResult saveUser(@RequestParam("arrays") List<String > arrays,
@RequestBody User user,
User user1) {
StringBuffer sb = new StringBuffer();
for (String s: arrays) {
sb.append(s+" ");
}
return ResponseResult.success("插入成功!", sb.toString()+user.toString()+ user1.toString());
}
因篇幅问题不能全部显示,请点此查看更多更全内容