♻️ Refactoring code. 重构swagger 模块通过 import 注解动态导入

This commit is contained in:
lbw committed 2022-06-28 16:30:10 +08:00
1 parent fee1b3f98f
commit 432d484e07
5 files changed
+39 -6

No files matched your search

File renamed without changes.
@@ -17,8 +17,7 @@
package com.pig4cloud.pigx.common.swagger.annotation;
import com.pig4cloud.pigx.common.swagger.config.GatewaySwaggerAutoConfiguration;
import com.pig4cloud.pigx.common.swagger.config.SwaggerAutoConfiguration;
import com.pig4cloud.pigx.common.swagger.support.SwaggerBeanDefinitionRegistrar;
import com.pig4cloud.pigx.common.swagger.support.SwaggerProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Import;
@@ -36,7 +35,7 @@ import java.lang.annotation.*;
@Inherited
@EnableSwagger2
@EnableConfigurationProperties(SwaggerProperties.class)
@Import({ SwaggerAutoConfiguration.class, GatewaySwaggerAutoConfiguration.class })
@Import({ SwaggerBeanDefinitionRegistrar.class })
public @interface EnablePigxSwagger2 {
}
@@ -0,0 +1,36 @@
package com.pig4cloud.pigx.common.swagger.support;
import com.pig4cloud.pigx.common.swagger.config.GatewaySwaggerAutoConfiguration;
import com.pig4cloud.pigx.common.swagger.config.SwaggerAutoConfiguration;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.GenericBeanDefinition;
import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
import org.springframework.core.type.AnnotationMetadata;
/**
* @author lengleng
* @date 2022/6/28
*/
public class SwaggerBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar {
/**
* 根据注解值动态注入资源服务器的相关属性
* @param metadata 注解信息
* @param registry 注册器
*/
@Override
public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry) {
if (registry.isBeanNameInUse("org.springframework.cloud.gateway.config.GatewayAutoConfiguration")) {
GenericBeanDefinition gatewaySwagger = new GenericBeanDefinition();
gatewaySwagger.setBeanClass(GatewaySwaggerAutoConfiguration.class);
registry.registerBeanDefinition(GatewaySwaggerAutoConfiguration.class.getSimpleName(), gatewaySwagger);
}
else {
GenericBeanDefinition swaggerAutoConfiguration = new GenericBeanDefinition();
swaggerAutoConfiguration.setBeanClass(SwaggerAutoConfiguration.class);
registry.registerBeanDefinition(SwaggerAutoConfiguration.class.getSimpleName(), swaggerAutoConfiguration);
}
}
}
@@ -21,7 +21,6 @@ import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import org.springframework.web.reactive.function.BodyInserters;
import org.springframework.web.reactive.function.server.HandlerFunction;
import org.springframework.web.reactive.function.server.ServerRequest;
@@ -34,7 +33,6 @@ import springfox.documentation.swagger.web.SwaggerResourcesProvider;
* @date 2018-07-19 SwaggerResourceHandler
*/
@Slf4j
@Component
@AllArgsConstructor
public class SwaggerResourceHandler implements HandlerFunction<ServerResponse> {
+1 -1
View File
@@ -40,7 +40,7 @@
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.version>3.8.1</maven.compiler.version>
<spring.checkstyle.version>0.0.32</spring.checkstyle.version>
<spring.checkstyle.version>0.0.34</spring.checkstyle.version>
<git.commit.version>2.2.5</git.commit.version>
<spring-boot-admin.version>2.6.7</spring-boot-admin.version>
<captcha.version>1.2.7</captcha.version>