♻️ 重构@EnableOpenApi 注解增加是否是微服务架构属性,方便单体版本使用
This commit is contained in:
1 parent
785acd7d98
commit
2cc49aa479
2 files changed
+18
-6
No files matched your search
+10
@@ -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;
|
||||
|
||||
}
|
||||
+8
-6
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user