我有大約50個使用@ResponseBody註釋的控制器。Spring Ajax @ResponseBody返回空值
像這樣:
@RequestMapping(value = "/someUrl.controller", method = RequestMethod.GET)
public @ResponseBody Object getObject(@RequestParam("id") Long id) {
Object object = provider.getObject(id);
return object;
}
有些時候getObject方法返回null
。問題是,在客戶端我得到空迴應而不是null
。
在最初的實現中,我們定製了不帶@ResponseBody註釋的包裝器對象JsonView
。
像這樣:
@RequestMapping(value = "/someUrl.controller", method = RequestMethod.GET)
public JsonView<Object> getObject(@RequestParam("id") Long id) {
Object object = provider.getObject(id);
return new JsonView(object);
}
所以這是工作的罰款。
我在How do you override the null serializer in Jackson 2.0?找到了一些解決方案,但不幸的是它只適用於POJO領域。
你有什麼想法可以如何處理?
在此先感謝!
你能告訴我們這個泛型JsonView類來自哪個庫嗎? – 2014-09-04 15:13:17