RequestBody 报错解决方法

(注:本文使用Jackson2做为JSON序列化和反序列化库)
若是http请求为多层级或者数据量大, 比较复杂的时候, 能够考虑采用post json的方式.
也就是设置请求方法为POST, Header中Content-Type为application/json, request body中是一个json字符串.java

在SpringMVC中接收的方式就是采用注解@RequestBody, 好比:json

@RequestMapping(value = "/api")
@ResponseBody
public Object api(@RequestBody SampleForm form) {
    return new Object();
}

但有时这个api会抛出相似 The request sent by the client was syntactically incorrect 这样的异常.api

产生这个异常的缘由是请求的json中包含了SampleForm这个类没定义的字段.app

解决方法就是给SampleForm这个类定义上加上注解 @JsonIgnoreProperties(ignoreUnknown = true), 便可忽略未定义字段的接收.post

相关文章
相关标签/搜索