parent
cca9807a4e
commit
e28d73a76c
@ -1,6 +1,5 @@
|
|||||||
cn.iocoder.yudao.framework.apilog.config.YudaoApiLogAutoConfiguration
|
cn.iocoder.yudao.framework.apilog.config.YudaoApiLogAutoConfiguration
|
||||||
cn.iocoder.yudao.framework.jackson.config.YudaoJacksonAutoConfiguration
|
cn.iocoder.yudao.framework.jackson.config.YudaoJacksonAutoConfiguration
|
||||||
com.github.xiaoymin.knife4j.spring.configuration.Knife4jAutoConfiguration
|
|
||||||
cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration
|
cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration
|
||||||
cn.iocoder.yudao.framework.web.config.YudaoWebAutoConfiguration
|
cn.iocoder.yudao.framework.web.config.YudaoWebAutoConfiguration
|
||||||
cn.iocoder.yudao.framework.xss.config.YudaoXssAutoConfiguration
|
cn.iocoder.yudao.framework.apilog.config.YudaoApiLogRpcAutoConfiguration
|
||||||
|
|||||||
@ -0,0 +1,35 @@
|
|||||||
|
package cn.iocoder.yudao.gateway.config;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springdoc.core.GroupedOpenApi;
|
||||||
|
import org.springframework.cloud.gateway.route.RouteDefinition;
|
||||||
|
import org.springframework.cloud.gateway.route.RouteDefinitionLocator;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Configuration
|
||||||
|
public class SpringDocConfiguration {
|
||||||
|
private static final String SERVER_NAME_SUFFIX = "-api";
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@Lazy(false)
|
||||||
|
public List<GroupedOpenApi> apis(RouteDefinitionLocator locator) {
|
||||||
|
List<GroupedOpenApi> groups = new ArrayList<>();
|
||||||
|
List<RouteDefinition> definitions = locator.getRouteDefinitions().collectList().block();
|
||||||
|
for (RouteDefinition definition : definitions) {
|
||||||
|
log.info("id: " + definition.getId() + " " + definition.getUri().toString());
|
||||||
|
}
|
||||||
|
definitions.stream()
|
||||||
|
.filter(routeDefinition -> routeDefinition.getId().matches(".*"+SERVER_NAME_SUFFIX))
|
||||||
|
.forEach(routeDefinition -> {
|
||||||
|
String name = routeDefinition.getId().replaceAll(SERVER_NAME_SUFFIX, "");
|
||||||
|
GroupedOpenApi.builder().pathsToMatch("/" + name + "/**").group(name).build();
|
||||||
|
});
|
||||||
|
return groups;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in new issue