1

我想在 REST 调用完成后调用一些自定义方法,查找原始方法的注释和生成的响应。

我知道您可以将PostProcessInterceptororMessageBodyWriterInterceptor用于此任务,但在发生异常时不会调用它们。

我目前的解决方案是,每个方法都会引发一个特殊的异常,然后由 custom 处理ExceptionMapper,但是我没有关于原始请求及其来源的信息。

是否有可以绑定到全局范围的处理程序,以便在发生异常时获取有关原始请求的信息?

是的,我知道这个问题:RestEasy Post Process Interceptor chain not traversed when response created by ExceptionMapper

4

1 回答 1

3

回答我自己的问题。

可以将原始请求注入ExceptionMapper并相应地做出反应或执行自定义操作。

@Provider
public class MyExceptionMapper implements ExceptionMapper<Throwable> {


    @Context
    private HttpServletRequest request;

    @Override
    public Response toResponse(Throwable exception)
    {

         // trigger event
         triggerOnExceptionEvent(request, exception);
    }
...
}
于 2013-11-12T07:46:11.400 回答