|
@@ -17,6 +17,7 @@ import java.io.UnsupportedEncodingException;
|
|
|
import java.net.URLEncoder;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Random;
|
|
|
import java.util.UUID;
|
|
|
|
|
|
import static cn.com.qmth.examcloud.app.model.Constants.*;
|
|
@@ -24,6 +25,7 @@ import static cn.com.qmth.examcloud.app.model.Constants.*;
|
|
|
@Component
|
|
|
public class RouterService {
|
|
|
private static Logger log = LoggerFactory.getLogger(RouterService.class);
|
|
|
+ private Random random = new Random();
|
|
|
@Autowired
|
|
|
private SysProperty sysProperty;
|
|
|
|
|
@@ -53,8 +55,8 @@ public class RouterService {
|
|
|
RequestBody requestBody = this.appendBody(router.getBody());
|
|
|
|
|
|
//处理请求地址
|
|
|
- final String requestUrl = sysProperty.getProxyUrl(router.getServer()) + "/" + router.getUrl() + "?" + requestParams;
|
|
|
- log.info(String.format("Router:[%s][%s]-%s ", router.getServer().getInstanceName(), router.getMethod().name(), requestUrl));
|
|
|
+ final String requestUrl = sysProperty.getProxyUrl(router.getServer()) + "/" + router.getUrl() + requestParams;
|
|
|
+ log.info(String.format("[%s][%s]%s ", router.getServer().getInstanceName(), router.getMethod().name(), requestUrl));
|
|
|
|
|
|
//封装请求
|
|
|
Request.Builder request = new Request.Builder()
|
|
@@ -82,7 +84,7 @@ public class RouterService {
|
|
|
|
|
|
private RequestBody appendBody(String body) {
|
|
|
if (StringUtils.isBlank(body)) {
|
|
|
- body = "{}";
|
|
|
+ body = "";
|
|
|
}
|
|
|
|
|
|
return FormBody.create(MediaType.parse(Constants.CHARSET_JSON_UTF8), body);
|
|
@@ -90,10 +92,15 @@ public class RouterService {
|
|
|
|
|
|
private String appendParams(Map<String, String> params) {
|
|
|
StringBuilder result = new StringBuilder();
|
|
|
+ result.append("?r=").append(random.nextInt(10000));
|
|
|
|
|
|
if (MapUtils.isNotEmpty(params)) {
|
|
|
for (Map.Entry<String, String> entry : params.entrySet()) {
|
|
|
- result.append(entry.getKey()).append("=").append(strEncode(entry.getValue())).append("&");
|
|
|
+ if (StringUtils.isBlank(entry.getKey())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ result.append("&").append(entry.getKey()).append("=").append(strEncode(entry.getValue()));
|
|
|
}
|
|
|
}
|
|
|
|