Jersey:处理从已映射异常创建的响应时出错

Jersey:处理从已映射异常创建的响应时出错,jersey,Jersey,我正在尝试添加自定义异常映射程序,但出现以下错误: Error occurred when processing a response created from an already mapped exception. 我正在使用Dropwizard、Jersey和Kotlin。问题是,在应用程序中注册的同一个异常存在多个异常标记。要解决此问题,请确保每个异常类只有一个ExceptionMapper 请注意,这并不阻止为子类注册异常映射器。例如,应用程序可以为Exception或Runtime

我正在尝试添加自定义异常映射程序,但出现以下错误:

Error occurred when processing a response created from an already mapped exception.

我正在使用Dropwizard、Jersey和Kotlin。

问题是,在应用程序中注册的同一个异常存在多个异常标记。要解决此问题,请确保每个异常类只有一个ExceptionMapper

请注意,这并不阻止为子类注册异常映射器。例如,应用程序可以为Exception或RuntimeException注册一个捕获所有映射器

OK:子类的例外情况
class UnhandledExceptionMapper:ExceptionMapper{…}
并注册更具体的地图绘制者

class InvalidSearchExceptionMapper : ExceptionMapper<InvalidSearchException> { ... }
class InvalidSearchExceptionMapper:ExceptionMapper{…}
不正常:同一类有多个ExceptionMapper
class UnhandledExceptionMapper:ExceptionMapper{…}
这将导致问题中描述的错误

class OtherUnhandledExceptionMapper : ExceptionMapper<Exception> { ... }
class OtherUnhandledExceptionMapper:ExceptionMapper{…}

但是,我注意到一个异常映射器注册为类,另一个注册为对象,但是在类上,将使用注册的异常映射器。
class UnhandledExceptionMapper : ExceptionMapper<Exception> { ... }
class OtherUnhandledExceptionMapper : ExceptionMapper<Exception> { ... }