mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-08 12:39:05 +08:00
♻️ Refactoring code. 重构swagger 模块通过 import 注解动态导入
This commit is contained in:
1 parent
fee1b3f98f
commit
432d484e07
5 files changed
+39
-6
No files matched your search
File renamed without changes.
+2
-3
@@ -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 {
|
||||
|
||||
}
|
||||
+36
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
-2
@@ -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> {
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in new issue
Block a user