我有一个JAX-RS项目,它使用Jackson来处理JSON转换.
当Jackson抛出异常时,它会自动返回带有错误描述的字符串.
因为我想返回一个自定义JSON对象,所以我创建了一个ExceptionMapper.
问题是,当我确切地指定抛出的Exception的类型时,它只捕获异常.
例如,当发送给方法的JSON包含未知属性时,这适用:
public class MyExceptionMapper implements ExceptionMapper<UnrecognizedPropertyException>
Run Code Online (Sandbox Code Playgroud)
但是,如果我UnrecognizedPropertyException改为PropertyBindingException(第一个扩展),它将无法工作.
简而言之:
如何创建一个通用异常映射器来捕获Jackson(或我的应用程序的任何其他组件)抛出的任何异常?