当前位置: 首页 > 知识库问答 >
问题:

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

公良鸿风
2023-03-14

我试图添加自定义异常映射器,但出现以下错误:

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

我正在使用Dropwizard、Jersey和Kotlin。

共有1个答案

宇文和昶
2023-03-14

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

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

class UnhandledExceptionMapper : ExceptionMapper<Exception> { ... }

并注册更具体的映射器。

class InvalidSearchExceptionMapper : ExceptionMapper<InvalidSearchException> { ... }
class UnhandledExceptionMapper : ExceptionMapper<Exception> { ... }

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

class OtherUnhandledExceptionMapper : ExceptionMapper<Exception> { ... }
 类似资料:
  • 问题内容: 有没有办法在Jersey中进行全局异常处理?我希望有一种方法可以将其放置在实际调用资源的地方,而不是单个资源具有try / catch块,然后调用某种方法来清理将要发送回客户端的所有异常。这有可能吗?如果是这样,怎么办? 而是在哪里向Jersey Servlet抛出某种Jersey配置的异常: 具有: 异常会被抛出到我可以拦截并从那里调用的东西。 实际上,这仅仅是为了简化Jersey的

  • 我想返回一个临时重定向,使用AsyncACK。 下面的“工作”(因为没有错误),但似乎不是异步的(它一次处理一个请求)。 这应该工作吗?如果我明确需要像https://jersey.github.io/documentation/latest/async.html#d0e9895一样启动一个新线程,返回响应是什么样子的?

  • 我有一个资源类,它本身与内部服务进行对话。此资源充当服务的rest API。服务层可以抛出意外异常,因此资源应该处理那些已处理的意外异常并将其记录下来。我正在使用dropwizard框架,它反过来又使用jersey。事情是这样的。 这里的问题是,我必须对每个REST apiendpoint执行完全相同的异常处理。我可以为这个特定的资源进行某种类型的异常映射,以便将所有的处理逻辑和日志记录放在那里吗

  • -致命异常:AsyncTask#3进程:kuldeep.mourya.com.smartCollege,pid:10617 java.lang.RuntimeException:在Android.os.AsyncTask$3执行doInBackground()时出错。done(AsyncTask.java:309)在java.util.concurrent.FutureTask.FinishCom

  • 不确定发生了什么,但我不知道我的反应在哪里被劫持了。

  • 我收到http请求的响应,格式如下: 当我执行下面的代码时,我想将其映射到DTO中: DTO类别: 另一个类是: 当我尝试将FinalTestDt中的响应映射到类时,它会引发一个异常: WARN:org.springframework.http.converter.json.MappingJackson2HttpMessageConzer-无法评估类型[简单类型,类FinalTestDTO]的反序