泽西岛:处理从已映射的异常创建的响应时发生错误

Sam*_*rry 3 jersey

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

Error occurred when processing a response created from an already mapped exception.
Run Code Online (Sandbox Code Playgroud)

我正在使用Dropwizard,Jersey和Kotlin。

Sam*_*rry 5

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

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

OK:子类的ExceptionMappers

class UnhandledExceptionMapper : ExceptionMapper<Exception> { ... }
Run Code Online (Sandbox Code Playgroud)

并注册更多特定的映射器。

class InvalidSearchExceptionMapper : ExceptionMapper<InvalidSearchException> { ... }
Run Code Online (Sandbox Code Playgroud)

错误:同一类有多个ExceptionMappers

class UnhandledExceptionMapper : ExceptionMapper<Exception> { ... }
Run Code Online (Sandbox Code Playgroud)

这将导致问题中描述的错误。

class OtherUnhandledExceptionMapper : ExceptionMapper<Exception> { ... }
Run Code Online (Sandbox Code Playgroud)