【发布时间】:2013-01-15 22:54:13
【问题描述】:
我有向客户端返回 JSON 的控制器。控制器方法使用 mvc 注释标记,例如:
@RequestMapping("/delete.me")
public @ResponseBody Map<String, Object> delete(HttpServletRequest request, @RequestParam("ids[]") Integer[] ids) {
Spring 知道返回 JSON,因为 Jackson 在类路径上并且客户端正在请求 JSON 响应。我想记录这些请求和所有其他控制器的响应。在过去,我使用拦截器来执行此操作。但是,我从 ModelAndView 获得了响应正文。既然我正在使用@ResponseBody,如何在拦截器中获取响应正文?具体来说,如何获取该方法的响应体?
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
【问题讨论】:
-
这里建议的方法怎么样 - stackoverflow.com/questions/3242236/…
-
感谢您的替代方案。有没有办法使用 Spring HandlerInterceptorAdapter 来做到这一点?
标签: spring spring-mvc interceptor