【发布时间】:2014-10-28 07:27:03
【问题描述】:
我有大约 50 个使用 @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。问题是在客户端我得到 empty response 而不是 null。
在最初的实现中,我们有自定义的JsonView 对象,它可以作为没有@ResponseBody 注释的包装器。
像这样:
@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类来自哪个库吗?