@RestController
@RequestMapping("/test")
public class TestController {
@GetMapping("/f1")
public void func1(@RequestParam(required = false)Map map){
System.out.println(map);
//{name=新一, age=22}
}
@GetMapping("/f2")
public void func2(Map map){
System.out.println(map);
//{}
}
@GetMapping("/f3")
public void func3(User user){
System.out.println(user);
//{name=新一, age=22}
}
@GetMapping("/f4")
public void func4(@RequestParam(required = false) User user){
System.out.println(user);
//{}
}
@GetMapping("/f5")
public void func5(@RequestParam User user){
System.out.println(user);
//400 "message": "Required User parameter 'user' is not present",
}
}
发送请求:http://localhost:8080/test/f1?name=新一&age=22
结论:
用Map接收需要加上@RequestParam(required = false)
用对应的实体类接收不能加其他注释,直接接收