hongxudong 2 лет назад
Родитель
Сommit
b71bc71ff3

+ 25 - 15
src/main/java/com/dk/common/infrastructure/config/FeignConfiguration.java

@@ -36,21 +36,31 @@ public class FeignConfiguration implements RequestInterceptor {
      */
 //    @Bean
     public RequestInterceptor cloudContextInterceptor() {
-        return template -> {
-            //例
-            //@PostMapping("//" + "mdm-server-$CLUSTER_ID" + Constant.USER+"/get_current")
-            String url = template.url();
-            //将$CLUSTER_ID替换为集群名称
-            if (url.contains("$CLUSTER_ID")) {
-                url = url.replace("$CLUSTER_ID", "");
-                template.uri(url);
-            }
-            //添加http前缀
-            if (url.startsWith("//")) {
-                url = "http:" + url;
-                template.target(url);
-                template.uri("");
+        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder
+                .getRequestAttributes();
+        HttpServletRequest request;
+        if (attributes != null) {
+            request = attributes.getRequest();
+            if ("".equals(request.getRequestURI())) {
+                String svcCode = request.getParameter("svcCode");
+                return template -> {
+                    //例
+                    //@PostMapping("//" + "mdm-server-$CLUSTER_ID" + Constant.USER+"/get_current")
+                    String url = template.url();
+                    //将$CLUSTER_ID替换为集群名称
+                    if (url.contains("$CLUSTER_ID")) {
+                        url = url.replace("$CLUSTER_ID", svcCode);
+                        template.uri(url);
+                    }
+                    //添加http前缀
+                    if (url.startsWith("//")) {
+                        url = "http:" + url;
+                        template.target(url);
+                        template.uri("");
+                    }
+                };
             }
-        };
+        }
+        return requestTemplate -> {};
     }
 }