New file |
| | |
| | | package com.panzhihua.zuul.config; |
| | | |
| | | import java.text.MessageFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | import org.springframework.cloud.netflix.zuul.filters.RouteLocator; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.context.annotation.Primary; |
| | | |
| | | import springfox.documentation.swagger.web.SwaggerResource; |
| | | import springfox.documentation.swagger.web.SwaggerResourcesProvider; |
| | | import springfox.documentation.swagger2.annotations.EnableSwagger2; |
| | | |
| | | /** |
| | | * @program: springcloud_k8s_panzhihuazhihuishequ |
| | | * @description: swagger |
| | | * @author: huang.hongfa weixin hhf9596 qq 959656820 |
| | | * @create: 2020-11-26 16:57 |
| | | **/ |
| | | @Configuration |
| | | @EnableSwagger2 |
| | | @Primary |
| | | public class SwaggerConfig implements SwaggerResourcesProvider { |
| | | |
| | | // RouteLocator可以根据zuul配置的路由列表获取服务 |
| | | private final RouteLocator routeLocator; |
| | | |
| | | private String[] ids = |
| | | new String[] {"appletsbackstage", "applets", "communitybackstage", "shopbackstage", "gridbackstage", "gridapp"}; |
| | | |
| | | public SwaggerConfig(RouteLocator routeLocator) { |
| | | this.routeLocator = routeLocator; |
| | | } |
| | | |
| | | /** |
| | | * Gets a result. |
| | | * |
| | | * @return a result |
| | | */ |
| | | @Override |
| | | public List<SwaggerResource> get() { |
| | | List resources = new ArrayList(); |
| | | Arrays.asList(ids).forEach(id -> { |
| | | resources.add(swaggerResource(id, MessageFormat.format("/api/{0}/v2/api-docs", id), "1.0")); |
| | | }); |
| | | return resources; |
| | | } |
| | | |
| | | private SwaggerResource swaggerResource(String name, String location, String version) { |
| | | SwaggerResource swaggerResource = new SwaggerResource(); |
| | | swaggerResource.setName(name); |
| | | swaggerResource.setLocation(location); |
| | | swaggerResource.setSwaggerVersion(version); |
| | | return swaggerResource; |
| | | } |
| | | |
| | | } |