1、报错
使用postman调用某个接口时,出现了如下报错:
......HttpMessageNotReadableException: Required request body is missing: ......
2、重现报错
接口代码:
package com.example.webproject.controller;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
@RequestMapping("/url")
public class URLController {
@RequestMapping(value = "paramsTest", params = "action=save")
public String paramsTest(@RequestBody Map param) {
return "params test";
}
}
调用接口:
Headers中的参数情况如下:
后台报错:
3、分析
缺少请求体{}。
4、解决方法
在Body中选择“raw”,然后选择“JSON”,接着填写请求体{},如下图。
填完请求体后,会发现Headers中多了Content-Type,其取值为application/json。
5、结论
@RequestBody注解,则调用时需要添加请求体Body为{},同时添加请求头:Content-Type=application/json。