项目中添加filter后,接口发现获取到的参数为null。
解决办法:
@Resource
MultipartResolver multipartResolver;
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("--------------执行过滤操作------------");
String contentType = servletRequest.getContentType();
if (contentType != null && contentType.contains("multipart/form-data")) {
MultipartHttpServletRequest multipartRequest = multipartResolver.resolveMultipart((HttpServletRequest)servletRequest);
filterChain.doFilter(multipartRequest, servletResponse);
return;
}
if (contentType != null && contentType.contains("x-www-form-urlencoded")){
ResourceUrlEncodingFilter filter = new ResourceUrlEncodingFilter();
filter.doFilter(servletRequest, servletResponse, filterChain);
return;
}
filterChain.doFilter(servletRequest, servletResponse);
}
}