SpringBoot对接口请求参数(@RequestBody 和 @ Request Param)进行解密过滤
/** * @Description: 拦截所有请求过滤器,并将请求类型是HttpServletRequest类型的请求替换为自定义 */ @javax.servlet.annotation.WebFilter(filterName = "WebFilter", urlPatterns = "/*") public class WebFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException { ServletRequest request = null;
//此处分别处理POST请求(Body)和GET请求(Parameter) if (servletRequest instanceof HttpServletRequest) { if(((HttpServletRequest) servletRequest).getMethod().equals("POST")){ request = new BodyRequestWrapper((HttpServletRequest) servletRequest); }else if(((HttpServletRequest) servletRequest).getMethod().equals("GET")){ request = new ParameterRequestWrapper((HttpServletRequest) servletRequest); } } if (request == null) { chain.doFilter(servletRequest, servletResponse); } else { chain.doFilter(request, servletResponse); } } @Override public void destroy() { } }
https://blog.csdn.net/jingYang07/article/details/102596100