package com.welampiot.interceptor; import com.alibaba.fastjson.JSON; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.ws.RequestWrapper; import java.util.Map; public class Interceptor implements HandlerInterceptor { /** * 在请求处理之前进行调用(Controller方法调用之前) */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { // 记录请求参数日志 if(request.getRequestURI().substring(0,4).equals("/api")){ Logger paramLog = LoggerFactory.getLogger("param_log"); Map parameterMap = request.getParameterMap(); paramLog.info(request.getRequestURI()+" ==request param== "+ JSON.toJSONString(parameterMap)); } return true;//如果设置为false时,被请求时,拦截器执行到此处将不会继续操作 } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { HandlerInterceptor.super.postHandle(request, response, handler, modelAndView); ServletOutputStream outputStream = response.getOutputStream(); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { byte[] content = new byte[1024]; //获取response的值 // String responseData = IOUtils.toString(content, "UTF-8"); System.out.println(content.toString()); HandlerInterceptor.super.afterCompletion(request, response, handler, ex); } }