diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/ServiceNameConstants.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/ServiceNameConstants.java index cf1747e88..ff006a16a 100644 --- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/ServiceNameConstants.java +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/ServiceNameConstants.java @@ -25,11 +25,6 @@ package com.pig4cloud.pigx.common.core.constant; */ public interface ServiceNameConstants { - /** - * BASE 路径 - */ - String BASE_URL = "http://127.0.0.1:${server.port}${server.servlet.context-path}"; - /** * 认证中心 */ diff --git a/pigx-common/pigx-common-feign/src/main/java/org/springframework/cloud/openfeign/PigxFeignClientsRegistrar.java b/pigx-common/pigx-common-feign/src/main/java/org/springframework/cloud/openfeign/PigxFeignClientsRegistrar.java index b6187cd55..fc224a285 100644 --- a/pigx-common/pigx-common-feign/src/main/java/org/springframework/cloud/openfeign/PigxFeignClientsRegistrar.java +++ b/pigx-common/pigx-common-feign/src/main/java/org/springframework/cloud/openfeign/PigxFeignClientsRegistrar.java @@ -33,6 +33,7 @@ import org.springframework.core.env.Environment; import org.springframework.core.io.support.SpringFactoriesLoader; import org.springframework.core.type.AnnotationMetadata; import org.springframework.lang.Nullable; +import org.springframework.util.ClassUtils; import org.springframework.util.StringUtils; import java.util.List; @@ -47,6 +48,8 @@ import java.util.Map; public class PigxFeignClientsRegistrar implements ImportBeanDefinitionRegistrar, BeanClassLoaderAware, EnvironmentAware { + private final static String BASE_URL = "http://127.0.0.1:${server.port}${server.servlet.context-path}"; + @Getter private ClassLoader beanClassLoader; @@ -181,7 +184,14 @@ public class PigxFeignClientsRegistrar } private String getUrl(Map attributes) { - String url = resolve((String) attributes.get("url")); + // 如果是单体项目自动注入 & url 为空 + String url = (String) attributes.get("url"); + boolean present = ClassUtils.isPresent("com.alibaba.cloud.nacos.discovery.NacosDiscoveryClient", + this.getClass().getClassLoader()); + if (!StringUtils.hasText(url) && !present) { + url = resolve(BASE_URL); + } + return FeignClientsRegistrar.getUrl(url); } @@ -238,4 +248,4 @@ public class PigxFeignClientsRegistrar this.environment = environment; } -} \ No newline at end of file +}