From 7d03fd7d726469278b5bd1b379f0303fa55b7c3e Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 17 七月 2025 11:13:32 +0800 Subject: [PATCH] 解决API调试出错 --- se-gateway/src/main/java/com/terra/gateway/config/SpringDocConfig.java | 54 ++++++++++++++++++++++++++---------------------------- 1 files changed, 26 insertions(+), 28 deletions(-) diff --git a/se-gateway/src/main/java/com/terra/gateway/config/SpringDocConfig.java b/se-gateway/src/main/java/com/terra/gateway/config/SpringDocConfig.java index ba589dd..f5832b3 100644 --- a/se-gateway/src/main/java/com/terra/gateway/config/SpringDocConfig.java +++ b/se-gateway/src/main/java/com/terra/gateway/config/SpringDocConfig.java @@ -1,7 +1,10 @@ package com.terra.gateway.config; -import java.util.Set; -import java.util.stream.Collectors; +import com.alibaba.nacos.client.naming.event.InstancesChangeEvent; +import com.alibaba.nacos.common.notify.Event; +import com.alibaba.nacos.common.notify.NotifyCenter; +import com.alibaba.nacos.common.notify.listener.Subscriber; +import com.terra.gateway.utils.StringUtils; import org.springdoc.core.AbstractSwaggerUiConfigProperties; import org.springdoc.core.SwaggerUiConfigProperties; import org.springframework.beans.factory.InitializingBean; @@ -9,12 +12,9 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.context.annotation.Configuration; -import com.alibaba.nacos.client.naming.event.InstancesChangeEvent; -import com.alibaba.nacos.common.notify.Event; -import com.alibaba.nacos.common.notify.NotifyCenter; -import com.alibaba.nacos.common.notify.listener.Subscriber; -import javax.annotation.Resource; +import java.util.Set; +import java.util.stream.Collectors; /** * SpringDoc閰嶇疆绫� @@ -44,51 +44,49 @@ /** * Swagger鏂囨。娉ㄥ唽鍣� */ -class SwaggerDocRegister extends Subscriber<InstancesChangeEvent> -{ - @Resource +class SwaggerDocRegister extends Subscriber<InstancesChangeEvent> { + @Autowired private SwaggerUiConfigProperties swaggerUiConfigProperties; - @Resource + @Autowired private DiscoveryClient discoveryClient; - private final static String[] EXCLUDE_ROUTES = new String[] { "se-gateway", "se-auth", "se-file", "se-monitor", "se-system" }; + private final static String[] EXCLUDE_ROUTES = new String[]{"se-gateway"}; - public SwaggerDocRegister(SwaggerUiConfigProperties swaggerUiConfigProperties, DiscoveryClient discoveryClient) - { + public SwaggerDocRegister(SwaggerUiConfigProperties swaggerUiConfigProperties, DiscoveryClient discoveryClient) { this.swaggerUiConfigProperties = swaggerUiConfigProperties; this.discoveryClient = discoveryClient; } /** * 浜嬩欢鍥炶皟鏂规硶锛屽鐞咺nstancesChangeEvent浜嬩欢 + * * @param event 浜嬩欢瀵硅薄 */ @Override - public void onEvent(InstancesChangeEvent event) - { + public void onEvent(InstancesChangeEvent event) { Set<AbstractSwaggerUiConfigProperties.SwaggerUrl> swaggerUrlSet = discoveryClient.getServices() - .stream() - .flatMap(serviceId -> discoveryClient.getInstances(serviceId).stream()) - //.filter(instance -> !StringUtils.equalsAnyIgnoreCase(instance.getServiceId(), EXCLUDE_ROUTES)) - .map(instance -> { - AbstractSwaggerUiConfigProperties.SwaggerUrl swaggerUrl = new AbstractSwaggerUiConfigProperties.SwaggerUrl(); - swaggerUrl.setName(instance.getServiceId()); - swaggerUrl.setUrl(String.format("/%s/v3/api-docs", instance.getServiceId())); - return swaggerUrl; - }) - .collect(Collectors.toSet()); + .stream() + .flatMap(serviceId -> discoveryClient.getInstances(serviceId).stream()) + .filter(instance -> !StringUtils.equalsAnyIgnoreCase(instance.getServiceId(), EXCLUDE_ROUTES)) + .map(instance -> { + AbstractSwaggerUiConfigProperties.SwaggerUrl swaggerUrl = new AbstractSwaggerUiConfigProperties.SwaggerUrl(); + swaggerUrl.setName(instance.getServiceId()); + swaggerUrl.setUrl(String.format("/%s/v3/api-docs", instance.getServiceId())); + return swaggerUrl; + }) + .collect(Collectors.toSet()); swaggerUiConfigProperties.setUrls(swaggerUrlSet); } /** * 璁㈤槄绫诲瀷鏂规硶锛岃繑鍥炶闃呯殑浜嬩欢绫诲瀷 + * * @return 璁㈤槄鐨勪簨浠剁被鍨� */ @Override - public Class<? extends Event> subscribeType() - { + public Class<? extends Event> subscribeType() { return InstancesChangeEvent.class; } } -- Gitblit v1.9.3