java newb在這裏。可能這已經在某個地方被覆蓋了,但我似乎無法找到它。 在Java 8 + Spring 4 + Jackson上的RESTish服務2.我想做的是將解組JSON轉換爲對象。它的工作原理只是用最少的設置罰款:防止Jackson unmarshaller在第一個數據類型不匹配時拋出異常
public class A {
private int id;
private double val;
getters/setters
}
然後,我有我的restcontroller:
@RestController
@RequestMapping(value = "/item/", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public class MyController {
public A test(@Valid @RequestBody A a) {
return a;
}
}
如果我張貼有效的JSON
{"id": 1, "val":5.55}
都是花花公子。如果我默認後
{"id": cat, "val":5.55}
我得到的400響應我可以定義@ExceptionHandler處理HttpMessageNotReadableException,所以它會返回某種描述JSON的背部,指出錯誤。
問題是,如果我得到的JSON不止一個錯誤,如: {「ID」:貓,「VAL」:「狗」} 解組將拋出第一個節點上異常並停止解析,需要客戶可以逐個解決問題並重新發布它們,以獲得下一個錯誤響應。在這種特殊情況下,這可能不是問題,但在處理大型數據集時變得非常不可思議。所以我想以某種方式說服傑克遜領主在拋出異常之前解析整個事情。 建議?