剔除掉 swagger 不能请求的 rpc-api

This commit is contained in:
chenbowen
2025-11-27 13:48:55 +08:00
parent 28a49ce45a
commit 446b5ca7a4

View File

@@ -1,5 +1,6 @@
package com.zt.plat.framework.swagger.config;
import com.zt.plat.framework.common.enums.RpcConstants;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
@@ -11,6 +12,7 @@ import io.swagger.v3.oas.models.parameters.Parameter;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import org.springdoc.core.customizers.OpenApiBuilderCustomizer;
import org.springdoc.core.customizers.OpenApiCustomizer;
import org.springdoc.core.customizers.ServerBaseUrlCustomizer;
import org.springdoc.core.models.GroupedOpenApi;
import org.springdoc.core.properties.SpringDocConfigProperties;
@@ -123,12 +125,26 @@ public class ZtSwaggerAutoConfiguration {
return GroupedOpenApi.builder()
.group(group)
.pathsToMatch("/admin-api/" + path + "/**", "/app-api/" + path + "/**")
.pathsToExclude(RpcConstants.RPC_API_PREFIX + "/**")
.addOperationCustomizer((operation, handlerMethod) -> operation
.addParametersItem(buildTenantHeaderParameter())
.addParametersItem(buildSecurityHeaderParameter()))
.build();
}
@Bean
public OpenApiCustomizer rpcApiPathExclusionCustomiser() {
return openApi -> {
if (openApi == null || openApi.getPaths() == null) {
return;
}
openApi.getPaths().entrySet().removeIf(entry -> {
String path = entry.getKey();
return path != null && path.startsWith(RpcConstants.RPC_API_PREFIX);
});
};
}
/**
* 构建 Tenant 租户编号请求头参数
*