From b9522d131e168a92c88f23e2c0a3a2df079926b4 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期一, 19 八月 2024 17:43:43 +0800 Subject: [PATCH] 新增加小程序接口 --- ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/SwaggerProvider.java | 113 +++++++++++++++++++++++++++----------------------------- 1 files changed, 55 insertions(+), 58 deletions(-) diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/SwaggerProvider.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/SwaggerProvider.java index 7c58673..495dd46 100644 --- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/SwaggerProvider.java +++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/SwaggerProvider.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.List; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.gateway.config.GatewayProperties; import org.springframework.cloud.gateway.route.RouteLocator; @@ -15,65 +16,61 @@ /** * 聚合系统接口 - * + * * @author ruoyi */ @Component -public class SwaggerProvider implements SwaggerResourcesProvider, WebFluxConfigurer -{ - /** - * Swagger2默认的url后缀 - */ - public static final String SWAGGER2URL = "/v2/api-docs"; - - /** - * 网关路由 - */ - @Lazy - @Autowired - private RouteLocator routeLocator; - - @Autowired - private GatewayProperties gatewayProperties; - - /** - * 聚合其他服务接口 - * - * @return - */ - @Override - public List<SwaggerResource> get() - { - List<SwaggerResource> resourceList = new ArrayList<>(); - List<String> routes = new ArrayList<>(); - // 获取网关中配置的route - routeLocator.getRoutes().subscribe(route -> routes.add(route.getId())); - gatewayProperties.getRoutes().stream() - .filter(routeDefinition -> routes - .contains(routeDefinition.getId())) - .forEach(routeDefinition -> routeDefinition.getPredicates().stream() - .filter(predicateDefinition -> "Path".equalsIgnoreCase(predicateDefinition.getName())) - .filter(predicateDefinition -> !"ruoyi-auth".equalsIgnoreCase(routeDefinition.getId())) - .forEach(predicateDefinition -> resourceList - .add(swaggerResource(routeDefinition.getId(), predicateDefinition.getArgs() - .get(NameUtils.GENERATED_NAME_PREFIX + "0").replace("/**", SWAGGER2URL))))); - return resourceList; - } - - private SwaggerResource swaggerResource(String name, String location) - { - SwaggerResource swaggerResource = new SwaggerResource(); - swaggerResource.setName(name); - swaggerResource.setLocation(location); - swaggerResource.setSwaggerVersion("2.0"); - return swaggerResource; - } - - @Override - public void addResourceHandlers(ResourceHandlerRegistry registry) - { - /** swagger-ui 地址 */ - registry.addResourceHandler("/swagger-ui/**","*/doc.html") - .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/"); - } +public class SwaggerProvider implements SwaggerResourcesProvider, WebFluxConfigurer { + /** + * Swagger2默认的url后缀 + */ + public static final String SWAGGER2URL = "/v2/api-docs"; + + /** + * 网关路由 + */ + @Lazy + @Autowired + private RouteLocator routeLocator; + + @Autowired + private GatewayProperties gatewayProperties; + + /** + * 聚合其他服务接口 + * + * @return + */ + @Override + public List<SwaggerResource> get() { + List<SwaggerResource> resourceList = new ArrayList<>(); + List<String> routes = new ArrayList<>(); + // 获取网关中配置的route + routeLocator.getRoutes().subscribe(route -> routes.add(route.getId())); + gatewayProperties.getRoutes().stream() + .filter(routeDefinition -> routes + .contains(routeDefinition.getId())) + .forEach(routeDefinition -> routeDefinition.getPredicates().stream() + .filter(predicateDefinition -> "Path".equalsIgnoreCase(predicateDefinition.getName())) + .filter(predicateDefinition -> !"ruoyi-auth".equalsIgnoreCase(routeDefinition.getId())) + .forEach(predicateDefinition -> resourceList + .add(swaggerResource(routeDefinition.getId(), predicateDefinition.getArgs() + .get(NameUtils.GENERATED_NAME_PREFIX + "0").replace("/**", SWAGGER2URL))))); + return resourceList; + } + + private SwaggerResource swaggerResource(String name, String location) { + SwaggerResource swaggerResource = new SwaggerResource(); + swaggerResource.setName(name); + swaggerResource.setLocation(location); + swaggerResource.setSwaggerVersion("2.0"); + return swaggerResource; + } + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + /** swagger-ui 地址 */ + registry.addResourceHandler("/swagger-ui/**", "*/doc.html") + .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/"); + } } -- Gitblit v1.7.1