前几天在调用接口时,请求的参数明明都已经填上去了,但就是报错,Required request body is missing。后来才明白是因为@RequestParam 和 @RequestBody 的区别导致的。
我的请求体是使用 @RequestParam 拼接出来的,而 @RequestParam 一般是用于处理Content-Type = application/x-www-form-urlencoded的请求。真正需要的是Content-Type = application/json 格式,所以换用 @RequestBody 问题就解决了。
@PostMapping({"/createUser"})
ResponseMessage<String> createUser(@RequestParam("name") String name,
@RequestParam("pwd") String pwd);
上面的代码会报错 Required request body is missing
@PostMapping({"/createUser"})
ResponseMessage<String> createUser(@RequestBody UesrRequestBody userRequestBody);
换成上面的代码,问题就解决了。