Commit 43ba574e authored by 黎博's avatar 黎博

modify

parent 6016cfb0
...@@ -8,6 +8,7 @@ import java.io.BufferedReader; ...@@ -8,6 +8,7 @@ import java.io.BufferedReader;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.StringWriter; import java.io.StringWriter;
import java.nio.charset.StandardCharsets;
public class CustomHttpServletRequestWrapper extends HttpServletRequestWrapper { public class CustomHttpServletRequestWrapper extends HttpServletRequestWrapper {
...@@ -16,19 +17,18 @@ public class CustomHttpServletRequestWrapper extends HttpServletRequestWrapper { ...@@ -16,19 +17,18 @@ public class CustomHttpServletRequestWrapper extends HttpServletRequestWrapper {
public CustomHttpServletRequestWrapper(HttpServletRequest request) throws IOException { public CustomHttpServletRequestWrapper(HttpServletRequest request) throws IOException {
super(request); super(request);
StringBuilder sb = new StringBuilder();
String line;
BufferedReader reader = request.getReader(); BufferedReader reader = request.getReader();
try (StringWriter writer = new StringWriter()) { while ((line = reader.readLine()) != null) {
int read; sb.append(line);
char[] buf = new char[1024 * 8];
while ((read = reader.read(buf)) != -1) {
writer.write(buf, 0, read);
}
this.body = writer.getBuffer().toString().getBytes();
} }
String body = sb.toString();
this.body = body.getBytes(StandardCharsets.UTF_8);
} }
public byte[] getBody() { public String getBody() {
return body; return new String(body, StandardCharsets.UTF_8);
} }
@Override @Override
......
package cn.qg.qaplatform.mock.interceptor; package cn.qg.qaplatform.mock.interceptor;
import cn.qg.qaplatform.config.SwitchDataSource; import cn.qg.qaplatform.config.SwitchDataSource;
import cn.qg.qaplatform.mock.config.CustomHttpServletRequestWrapper;
import cn.qg.qaplatform.mock.encrypt.factory.EncryptConvertor; import cn.qg.qaplatform.mock.encrypt.factory.EncryptConvertor;
import cn.qg.qaplatform.mock.encrypt.factory.EncryptFactory; import cn.qg.qaplatform.mock.encrypt.factory.EncryptFactory;
import cn.qg.qaplatform.mock.entity.Mock; import cn.qg.qaplatform.mock.entity.Mock;
...@@ -17,6 +18,7 @@ import org.springframework.web.servlet.ModelAndView; ...@@ -17,6 +18,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -82,12 +84,15 @@ public class YeebaoInterceptor implements HandlerInterceptor { ...@@ -82,12 +84,15 @@ public class YeebaoInterceptor implements HandlerInterceptor {
PrintWriter printWriter = response.getWriter(); PrintWriter printWriter = response.getWriter();
// 针对 /balance-board/transfer 接口特殊处理 // 针对 /balance-board/transfer 接口特殊处理
if (uri.equals("/balance-board/transfer")) { if (uri.equals("/balance-board/transfer")) {
BufferedReader br = request.getReader(); CustomHttpServletRequestWrapper requestWrapper = new CustomHttpServletRequestWrapper(request);
String str=""; String requestData;
StringBuilder requestData = new StringBuilder(); requestData = requestWrapper.getBody();
while((str = br.readLine()) != null){ // BufferedReader br = request.getReader();
requestData.append(str); // String str="";
} // StringBuilder requestData = new StringBuilder();
// while((str = br.readLine()) != null){
// requestData.append(str);
// }
String cmd = requestData.toString().split("<cmd>")[1].split("</cmd>")[0]; String cmd = requestData.toString().split("<cmd>")[1].split("</cmd>")[0];
log.info("yeepay-transfer cmd-------- {}", cmd); log.info("yeepay-transfer cmd-------- {}", cmd);
String transferResponse = null; String transferResponse = null;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment