每个请求都有RestEasy自定义操作

时间:2013-10-04 07:22:24

标签: java resteasy

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

我知道您可以使用PostProcessInterceptorMessageBodyWriterInterceptor执行此任务,但如果出现异常,则会被调用。

我当前的解决方案是每个方法抛出一个特殊异常,然后由自定义ExceptionMapper处理,但是我没有关于原始请求及其来源的信息。

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

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

1 个答案:

答案 0 :(得分:3)

回答我自己的问题。

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

@Provider
public class MyExceptionMapper implements ExceptionMapper<Throwable> {


    @Context
    private HttpServletRequest request;

    @Override
    public Response toResponse(Throwable exception)
    {

         // trigger event
         triggerOnExceptionEvent(request, exception);
    }
...
}
相关问题