修复Myfilter 里重复读引入的www 的body传不到后端的问题
This commit is contained in:
parent
537cfe5c9b
commit
4f73e93990
|
|
@ -25,7 +25,8 @@ public class MyFilter extends OncePerRequestFilter {
|
|||
|
||||
@Override
|
||||
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
|
||||
if (SystemGlobal.POST.equals(request.getMethod()) || SystemGlobal.PUT.equals(request.getMethod()) ){
|
||||
// System.out.print("MyFilter doFilterInternal");
|
||||
if (SystemGlobal.POST.equals(request.getMethod()) || SystemGlobal.PUT.equals(request.getMethod()) ){
|
||||
//去除文件上传
|
||||
String header = request.getHeader(HttpHeaders.CONTENT_TYPE);
|
||||
if(StringUtils.isNotEmpty(header)){
|
||||
|
|
@ -35,7 +36,7 @@ public class MyFilter extends OncePerRequestFilter {
|
|||
}
|
||||
}
|
||||
//解决 无法流重复读取的问题
|
||||
ReadHttpRequestWrapper requestWrapper = new ReadHttpRequestWrapper(request);
|
||||
ReadHttpRequestWrapper requestWrapper = new ReadHttpRequestWrapper(request, request.getParameterMap());
|
||||
filterChain.doFilter(requestWrapper, response);
|
||||
}else{
|
||||
filterChain.doFilter(request, response);
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import java.io.BufferedReader;
|
|||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -17,11 +18,13 @@ public class ReadHttpRequestWrapper extends HttpServletRequestWrapper {
|
|||
|
||||
private final String body;
|
||||
|
||||
private final Map<String, String[]> parameters;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param request
|
||||
*/
|
||||
public ReadHttpRequestWrapper(HttpServletRequest request) throws IOException {
|
||||
public ReadHttpRequestWrapper(HttpServletRequest request,Map<String, String[]> parameters) throws IOException {
|
||||
super(request);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
BufferedReader reader = request.getReader();
|
||||
|
|
@ -29,6 +32,7 @@ public class ReadHttpRequestWrapper extends HttpServletRequestWrapper {
|
|||
while((readCount = reader.readLine()) != null){
|
||||
sb.append(readCount);
|
||||
}
|
||||
this.parameters = parameters;
|
||||
body = sb.toString();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#com.bonus.common.security.config.MyFilter
|
||||
com.bonus.common.security.config.WebMvcConfig
|
||||
com.bonus.common.security.config.VerificationCodeConfig
|
||||
com.bonus.common.security.service.TokenService
|
||||
|
|
|
|||
Loading…
Reference in New Issue