From 2cc49aa47962fbdc312490ff418984514486fdbe Mon Sep 17 00:00:00 2001 From: lbw Date: Fri, 6 Jan 2023 13:18:27 +0800 Subject: [PATCH] =?UTF-8?q?:recycle:=20=E9=87=8D=E6=9E=84@EnableOpenApi=20?= =?UTF-8?q?=E6=B3=A8=E8=A7=A3=E5=A2=9E=E5=8A=A0=E6=98=AF=E5=90=A6=E6=98=AF?= =?UTF-8?q?=E5=BE=AE=E6=9C=8D=E5=8A=A1=E6=9E=B6=E6=9E=84=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=EF=BC=8C=E6=96=B9=E4=BE=BF=E5=8D=95=E4=BD=93=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/swagger/annotation/EnableOpenApi.java | 10 ++++++++++ .../config/OpenAPIDefinitionImportSelector.java | 14 ++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) 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()); } }