(注:本文使用Jackson2作为JSON序列化和反序列化库)
如果http请求为多层级或者数据量大, 比较复杂的时候, 可以考虑采用post json的方式.
也就是设置请求方法为POST, Header中Content-Type为application/json, request body中是一个json字符串.
在SpringMVC中接收的方式就是采用注解@RequestBody
, 比如:
@RequestMapping(value = "/api")
@ResponseBody
public Object api(@RequestBody SampleForm form) {
return new Object();
}
但有时这个api会抛出类似 The request sent by the client was syntactically incorrect 这样的异常.
产生这个异常的原因是请求的json中包含了SampleForm
这个类没定义的字段.
解决方法就是给SampleForm
这个类定义上加上注解 @JsonIgnoreProperties(ignoreUnknown = true)
, 即可忽略未定义字段的接收.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。