Explorar o código

:sparkles: Introducing new features.Make swagger provider ignorance configurable

萌萌哒SAKURA酱 %!s(int64=6) %!d(string=hai) anos
pai
achega
7fb3ad0de6

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 355 - 213
doc/db/pigxx.sql


+ 3 - 0
pigx-config/src/main/resources/config/pigx-gateway-dev.yml

@@ -13,3 +13,6 @@ security:
 ignore:
   clients:
     - test
+  swagger-providers:
+    - pigx-auth
+    - pigx-tx-manager

+ 1 - 0
pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/config/FilterIgnorePropertiesConfig.java

@@ -38,4 +38,5 @@ import java.util.List;
 @ConfigurationProperties(prefix = "ignore")
 public class FilterIgnorePropertiesConfig {
 	private List<String> clients = new ArrayList<>();
+	private List<String> swaggerProviders=new ArrayList<>();
 }

+ 2 - 1
pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/config/SwaggerProvider.java

@@ -39,6 +39,7 @@ import java.util.List;
 public class SwaggerProvider implements SwaggerResourcesProvider {
 	private static final String API_URI = "/v2/api-docs";
 	private final RouteDefinitionRepository routeDefinitionRepository;
+	private final FilterIgnorePropertiesConfig filterIgnorePropertiesConfig;
 
 
 	@Override
@@ -48,7 +49,7 @@ public class SwaggerProvider implements SwaggerResourcesProvider {
 		routeDefinitionRepository.getRouteDefinitions().subscribe(route -> routes.add(route));
 		routes.forEach(routeDefinition -> routeDefinition.getPredicates().stream()
 			.filter(predicateDefinition -> "Path".equalsIgnoreCase(predicateDefinition.getName()))
-			.filter(predicateDefinition -> !"pigx-auth".equalsIgnoreCase(routeDefinition.getId()))
+			.filter(predicateDefinition -> !filterIgnorePropertiesConfig.getSwaggerProviders().contains(routeDefinition.getId()))
 			.forEach(predicateDefinition -> resources.add(swaggerResource(routeDefinition.getId(),
 				predicateDefinition.getArgs().get(NameUtils.GENERATED_NAME_PREFIX + "0")
 					.replace("/**", API_URI)))));