使用spring-mvc将JSON的异常序列化

Boz*_*zho 6 spring spring-mvc

@RequestMapping(..)
@ResponseBody
public SearchResponse search(SearchRequest request) throws SearchException { .. }
Run Code Online (Sandbox Code Playgroud)

我想回到请求者:

  • 一切都很好的JSON序列化搜索响应
  • 如果SearchException抛出JSON序列化的异常详细信息.

第一部分工作正常(杰克逊在类路径上<mvc:annotation-driven />),但我没有看到一个简单的方法将异常序列化为json.

我可以注册一个自定义处理程序,并从那里写一个JSON字符串,但我可能还需要XML序列化,这意味着我将需要处理程序中的条件.那不是有什么准备好的吗?

Boz*_*zho 4

这是有效的:我采纳了axtavt 的建议(用 注释它@Component),并将此方法添加到控制器中:

@ExceptionHandler(CustomException.class)
public @ResponseBody CustomException handleException(CustomException ex) {
    return ex;
}
Run Code Online (Sandbox Code Playgroud)