(注:本文使用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