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