@RequestBody 接收不到请求体数的原因可能有很多,今天分享其中一个例子。 控制层: @RestController @RequestMapping("/test") public class TestController { protected Log log = LogFactory.getLog(TestController.class); @PostMapping(value = "/APPIM/{channel}/{brand}/{skillGroup}") public void testPostRequest( @PathVariable("channel") String channel, @RequestBody AppMsg msg) { log.info("--------------------------------------msg:"+msg.toString()); } }
实体类:
public class AppMsg implements Serializable{
private static final long serialVersionUID = -1753511326596692309L;
private String ToUserName;
private String FromUserName;
......
}
postman请求:
但是后台获取数据实体的属性值 ,全部为null 。
原因:
实体类的属性字段首字母为大写!! !映射不了
解决办法俩种:
1.首字母改为默认的小写方式
2.使用 @JsonProperty 注解在字段属性上,如下:
@JsonProperty(value = "ToUserName")
private String ToUserName;
@JsonProperty(value = "FromUserName")
private String FromUserName;