加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在ExceptionMapper创建响应时,不会遍历RestEasy Post Pr

发布时间:2020-12-14 05:49:53 所属栏目:Java 来源:网络整理
导读:我正在使用RestEasy构建我的Restful Web服务.我已经实现了ExceptionMappers来准备特定的异常响应. 我还实现了MessageBodyWriterInterceptors和一些PostProcessorInterceptors. 问题:当任何资源没有抛出任何异常时,一切正常.我的实现按预期工作.调用所有后处
我正在使用RestEasy构建我的Restful Web服务.我已经实现了ExceptionMappers来准备特定的异常响应.

我还实现了MessageBodyWriterInterceptors和一些PostProcessorInterceptors.

问题:当任何资源没有抛出任何异常时,一切正常.我的实现按预期工作.调用所有后处理器拦截器和消息体编写器拦截器.

但是,当从任何资源方法抛出异常时,将调用已注册的ExceptionMappers并创建响应.但在这种情况下,不会遍历后处理器拦截器链.他们没有被召唤.

在这种情况下我该怎么办在我的异常映射器中写入该拦截器逻辑,或者是否有可用的解决方案?

解决方法

如果抛出异常,则不会调用后处理器.它们位于不同的并行解析路径上:
           / 'Normal' JAX-RS response -> Post Processors -> Message Body Writers
Processing
             Exception -> Exception Mappers

如果您的逻辑需要在后处理器和异常映射器中运行,那么您需要将它合并到两者中(最好通过一个通用的实用程序类).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读