✨ Introducing new features.Make swagger provider ignorance configurable

This commit is contained in:
萌萌哒SAKURA酱 committed 2018-11-24 16:44:15 +08:00
1 parent 7d7d686775
commit 7fb3ad0de6
4 files changed
+356 -238

No files matched your search

@@ -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<>();
}
@@ -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)))));