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