| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- 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<String, String[]> 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);
- }
- }
|