我正在尝试添加自定义异常映射器,但收到以下错误:
Error occurred when processing a response created from an already mapped exception.
我正在使用 Dropwizard、Jersey 和 Kotlin。
问题是,对于
向应用程序注册的同一异常,有多个 ExceptionMapper。若要解决此问题,请确保每个异常类只有一个异常映射器。
请注意,这不会阻止为子类注册异常映射器。例如,应用程序可以为异常或运行时异常注册捕获所有映射器。
确定:子类的异常映射器
class UnhandledExceptionMapper : ExceptionMapper<Exception> { ... }
并注册更具体的映射器。
class InvalidSearchExceptionMapper : ExceptionMapper<InvalidSearchException> { ... }
不正常:同一类的多个异常映射器
class UnhandledExceptionMapper : ExceptionMapper<Exception> { ... }
这将导致问题中描述的错误。
class OtherUnhandledExceptionMapper : ExceptionMapper<Exception> { ... }