包结构
paramsfilter.png
创建ParamsFilter实现Filter接口
package com.example.filter;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
/**
* @author chengdongyi
* @description: 请求参数过滤器
* @date 2019/7/1 10:33
*/
public class ParamsFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
ParamsRequestWrapper requestWrapper = new ParamsRequestWrapper(httpRequest);
filterChain.doFilter(requestWrapper, servletResponse);
}
@Override
public void destroy() {
}
}
过滤请求参数
package com.example.filter;
import com.alibaba.fastjson.JSON;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/**
* @author chengdongyi
* @description: 对请求参数进行过滤
* @date 2019/7/1 11:02
*/
public class ParamsRequestWrapper extends HttpServletRequestWrapper {
private Map params = new HashMap<>();
private static final String ENCODING