spring mvc 获取请求参数,获取返回值的解决办法

602人浏览 / 0人评论

作者:石磊

今天在青苗谷交流群中有朋友问我怎么在spring拦截器中获取请求参数和controller responsebody 返回的数据。他想输出在日志,做监控用。然后经过自己调试,分析,给出解决办法。

用spring 拦截器preHandle回调函数中,获取前端传过来的参数。关键代码如下

public boolean preHandle(HttpServletRequest request, 
                                 HttpServletResponse response, Object handler)throws Exception {
                                 request.getParameterMap();//此处获得参数Map,可自行调试
            return false;
        }

spring 拦截器在postHandle 中遇到遇到ResponseBody无法获取返回值,原因是热心的网友已经给出原因,点击查看

那要怎么解决呐?

  • 在springMVC4版本以后,新加了一个@ControllerService注解。用此注解然后实现ResponseBodyAdvice接口可获取带有@responsebody的返回值,然后操作。具体用法自行百度

全部评论