拦截请求参数springmvc

@Component
@Slf4j
public class wxgtest extends HandlerInterceptorAdapter {


    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws Exception {
        // 所有请求第一个进入的方法
        String reqURL = request.getRequestURL().toString();
        String ip = request.getRemoteHost();

        InputStream is = request.getInputStream();
        StringBuilder responseStrBuilder = new StringBuilder();
        BufferedReader streamReader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
        String inputStr;
        while ((inputStr = streamReader.readLine()) != null) { responseStrBuilder.append(inputStr); }
        //      System.out.println("请求参数: " + responseStrBuilder.toString ());
        String parmeter = responseStrBuilder.toString();

        long startTime = System.currentTimeMillis();
        request.setAttribute("startTime", startTime);
        if (handler instanceof HandlerMethod) {
            StringBuilder sb = new StringBuilder(1000);
            sb.append("-----------------------").append(DateUtil.getCurrentDateStamp()).append(
                "-------------------------------------\n");
            HandlerMethod h = (HandlerMethod)handler;
            //Controller 的包名
            sb.append("Controller: ").append(h.getBean().getClass().getName()).append("\n");
            //方法名称
            sb.append("Method    : ").append(h.getMethod().getName()).append("\n");
            //请求方式  post\put\get 等等
            sb.append("RequestMethod    : ").append(request.getMethod()).append("\n");
            //所有的请求参数
            sb.append("Params    : ").append(parmeter).append("\n");
            //部分请求链接
            sb.append("URI       : ").append(request.getRequestURI()).append("\n");
            //完整的请求链接
            sb.append("AllURI    : ").append(reqURL).append("\n");
            //请求方的 ip地址
            sb.append("request IP: ").append(ip).append("\n");
            System.out.println(sb.toString());
            LogUtil.info(log, sb.toString());

        }
        //       修改request中的参数并保存到request中
        request.setAttribute("parmeter_json", parmeter);

        return true;
    }

}

加入

registry.addInterceptor(this.wxgtest).addPathPatterns(new String[]{"/**"});

猜你喜欢

转载自blog.csdn.net/matthewwu/article/details/83505626