From 4d7a208f388e42e7dd83dab0e38eadfa0847de1c Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 11 十二月 2024 19:24:10 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/SwaggerProvider.java | 152 +++++++++++++++++++++++++------------------------- 1 files changed, 76 insertions(+), 76 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 495dd46..239eb2a 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 @@ -1,76 +1,76 @@ -package com.ruoyi.gateway.config; - -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; -import org.springframework.cloud.gateway.support.NameUtils; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.config.ResourceHandlerRegistry; -import org.springframework.web.reactive.config.WebFluxConfigurer; -import springfox.documentation.swagger.web.SwaggerResource; -import springfox.documentation.swagger.web.SwaggerResourcesProvider; - -/** - * 聚合系统接口 - * - * @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/"); - } -} +//package com.ruoyi.gateway.config; +// +//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; +//import org.springframework.cloud.gateway.support.NameUtils; +//import org.springframework.context.annotation.Lazy; +//import org.springframework.stereotype.Component; +//import org.springframework.web.reactive.config.ResourceHandlerRegistry; +//import org.springframework.web.reactive.config.WebFluxConfigurer; +//import springfox.documentation.swagger.web.SwaggerResource; +//import springfox.documentation.swagger.web.SwaggerResourcesProvider; +// +///** +// * 聚合系统接口 +// * +// * @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/"); +// } +//} -- Gitblit v1.7.1