From b6082fe75b377ac9c177736d98f36ae46e7cdb70 Mon Sep 17 00:00:00 2001 From: 罗yu 元桥 <2376770955@qq.com> Date: 星期三, 28 四月 2021 10:20:55 +0800 Subject: [PATCH] Merge branch 'master' into 'test' --- springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/config/SwaggerConfig.java | 24 ++++++------------------ 1 files changed, 6 insertions(+), 18 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/config/SwaggerConfig.java b/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/config/SwaggerConfig.java index 4aefefe..1fb184d 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/config/SwaggerConfig.java +++ b/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/config/SwaggerConfig.java @@ -3,6 +3,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.cloud.netflix.zuul.filters.Route; import org.springframework.cloud.netflix.zuul.filters.RouteLocator; +import org.springframework.context.MessageSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; @@ -14,6 +15,7 @@ import springfox.documentation.swagger.web.SwaggerResourcesProvider; import springfox.documentation.swagger2.annotations.EnableSwagger2; +import java.text.MessageFormat; import java.util.*; import static java.util.stream.Collectors.collectingAndThen; @@ -33,7 +35,7 @@ //RouteLocator可以根据zuul配置的路由列表获取服务 private final RouteLocator routeLocator; - private String[]ids=new String[]{"appletsbackstage","applets","communitybackstage"}; + private String[]ids=new String[]{"appletsbackstage","applets","communitybackstage", "shopbackstage"}; public SwaggerConfig(RouteLocator routeLocator) { this.routeLocator = routeLocator; @@ -46,23 +48,9 @@ @Override public List<SwaggerResource> get() { List resources = new ArrayList(); - List<Route> routes = routeLocator.getRoutes(); - routes = routes.stream().collect( - collectingAndThen( - toCollection(() -> new TreeSet<>(Comparator.comparing(Route::getId))), ArrayList::new) - ); - //通过RouteLocator获取路由配置,遍历获取所配置服务的接口文档,这样不需要手动添加,实现动态获取 - List<String>stringList= Arrays.asList(ids); - for (Route route: routes) { - String id = route.getId(); - boolean contains = stringList.contains(id); - String fullPath = route.getFullPath(); - String s = fullPath.replaceFirst("/api", ""); - String s1 = s.replaceFirst("/" + id, ""); - if (contains) { - resources.add(swaggerResource(id,s1.replace("**", "v2/api-docs"),"1.0")); - } - } + Arrays.asList(ids).forEach(id->{ + resources.add(swaggerResource(id, MessageFormat.format("/api/{0}/v2/api-docs", id), "1.0")); + }); return resources; } -- Gitblit v1.7.1