我正在使用 RestEasy 构建我的 Restful Web 服务。我已经实现了 ExceptionMappers 来准备特定的异常响应。
我还实现了 MessageBodyWriterInterceptors 和几个 PostProcessorInterceptors。
Issue:当任何资源不抛出任何异常时,一切正常。我的实现按预期工作。所有后处理器拦截器和消息正文编写器拦截器都会被调用。
但是,当任何资源方法引发异常时,都会调用已注册的 ExceptionMappers 并创建响应。但在这种情况下,不会遍历后处理器拦截器链。他们没有接到电话。
这种情况我该怎么办。在我的异常映射器中编写拦截器逻辑,或者是否有可用的解决方案?
如果抛出异常,后处理器不会被调用。它们位于不同的、并行的解析路径上:
/ 'Normal' JAX-RS response -> Post Processors -> Message Body Writers
Processing
\ Exception -> Exception Mappers
如果您的逻辑需要在后处理器和异常映射器中运行,那么您需要将其合并到两者中(最好通过通用的实用程序类)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)