Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RestEasy对每个请求执行自定义操作_Java_Resteasy - Fatal编程技术网

Java RestEasy对每个请求执行自定义操作

Java RestEasy对每个请求执行自定义操作,java,resteasy,Java,Resteasy,我想在REST调用完成后调用一些自定义方法,查找原始方法和生成的响应上的注释 我知道您可以使用后处理器拦截器或MessageBodyWriterInterceptor执行此任务,但它们在异常情况下不会被调用 我目前的解决方案是,每个方法都会抛出一个特殊的异常,然后由一个自定义的ExceptionMapper处理,但是我没有关于原始请求及其来源的信息 是否有一个全局范围的处理程序可以绑定,以便在出现异常时获取原始请求的相关信息 是的,我知道这个问题:来回答我自己的问题 您可以将原始请求注入到Exc

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

我知道您可以使用
后处理器拦截器
MessageBodyWriterInterceptor
执行此任务,但它们在异常情况下不会被调用

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

是否有一个全局范围的处理程序可以绑定,以便在出现异常时获取原始请求的相关信息


是的,我知道这个问题:

来回答我自己的问题

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

@Provider
public class MyExceptionMapper implements ExceptionMapper<Throwable> {


    @Context
    private HttpServletRequest request;

    @Override
    public Response toResponse(Throwable exception)
    {

         // trigger event
         triggerOnExceptionEvent(request, exception);
    }
...
}
@Provider
公共类MyExceptionMapper实现ExceptionMapper{
@上下文
私有HttpServletRequest;
@凌驾
公众响应(可丢弃的例外)
{
//触发事件
triggerOnExceptionEvent(请求、异常);
}
...
}