diff --git a/pigx-common/pigx-common-swagger/src/main/java/com/pig4cloud/pigx/common/swagger/annotation/EnableOpenApi.java b/pigx-common/pigx-common-swagger/src/main/java/com/pig4cloud/pigx/common/swagger/annotation/EnableOpenApi.java index 09cf6acb7..695c4aeae 100644 --- a/pigx-common/pigx-common-swagger/src/main/java/com/pig4cloud/pigx/common/swagger/annotation/EnableOpenApi.java +++ b/pigx-common/pigx-common-swagger/src/main/java/com/pig4cloud/pigx/common/swagger/annotation/EnableOpenApi.java @@ -40,6 +40,16 @@ import java.lang.annotation.*; @PropertySource(value = "classpath:openapi-config.yaml", factory = YamlPropertySourceFactory.class) public @interface EnableOpenApi { + /** + * 网关路由前缀 + * @return String + */ String value() default ""; + /** + * 是否是微服务架构 + * @return true + */ + boolean isMicro() default true; + } diff --git a/pigx-common/pigx-common-swagger/src/main/java/com/pig4cloud/pigx/common/swagger/config/OpenAPIDefinitionImportSelector.java b/pigx-common/pigx-common-swagger/src/main/java/com/pig4cloud/pigx/common/swagger/config/OpenAPIDefinitionImportSelector.java index 1bade57cf..93030a1c3 100644 --- a/pigx-common/pigx-common-swagger/src/main/java/com/pig4cloud/pigx/common/swagger/config/OpenAPIDefinitionImportSelector.java +++ b/pigx-common/pigx-common-swagger/src/main/java/com/pig4cloud/pigx/common/swagger/config/OpenAPIDefinitionImportSelector.java @@ -33,13 +33,15 @@ public class OpenAPIDefinitionImportSelector implements ImportBeanDefinitionRegi registry.registerBeanDefinition("openAPIDefinition", definition.getBeanDefinition()); // 如果是微服务架构则,引入了服务发现声明相关的元数据配置 - boolean isMicro = registry.containsBeanDefinition("serviceInstance"); - if (isMicro) { - BeanDefinitionBuilder openAPIMetadata = BeanDefinitionBuilder - .genericBeanDefinition(OpenAPIMetadataConfiguration.class); - openAPIMetadata.addPropertyValue("path", value); - registry.registerBeanDefinition("openAPIMetadata", openAPIMetadata.getBeanDefinition()); + Object isMicro = annotationAttributes.getOrDefault("isMicro", true); + if (isMicro.equals(false)) { + return; } + + BeanDefinitionBuilder openAPIMetadata = BeanDefinitionBuilder + .genericBeanDefinition(OpenAPIMetadataConfiguration.class); + openAPIMetadata.addPropertyValue("path", value); + registry.registerBeanDefinition("openAPIMetadata", openAPIMetadata.getBeanDefinition()); } }