如何拦截Spring MVC序列化响应?

时间:2015-05-27 19:44:49

标签: java spring spring-mvc servlets interceptor

我想在请求结束时拦截Spring servlet响应。我的意思是,我想要做的是记录服务响应,json服务返回和statusCode。这就是我要记录的全部内容。

为此,我已经尝试过像这样使用HandlerInterceptorAdapter

public class ResponseLoggerInterceptor
    extends HandlerInterceptorAdapter {

    private static final Logger LOGGER = LoggerFactory.getLogger(ResponseLoggerInterceptor.class);

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
        ModelAndView modelAndView) throws Exception {
        LOGGER.info("Intercepted");
        super.postHandle(request, response, handler, modelAndView);
    }

}

该“处理程序”对象是对象respose,但它没有被序列化。你知道我在哪里以及如何拦截最后一个servlet响应吗?提前致谢

1 个答案:

答案 0 :(得分:1)

您需要一个'HttpResponse'对象 并建议您使用'afterCompletion'方法