fix 修复 接口文档未拼接服务路径问题

2.X
疯狂的狮子Li 2 years ago
parent 1f42d4543d
commit 9af2038efa

@ -17,6 +17,7 @@ import org.springdoc.core.providers.JavadocProvider;
import org.springdoc.core.service.OpenAPIService; import org.springdoc.core.service.OpenAPIService;
import org.springdoc.core.service.SecurityService; import org.springdoc.core.service.SecurityService;
import org.springdoc.core.utils.PropertyResolverUtils; import org.springdoc.core.utils.PropertyResolverUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@ -24,10 +25,7 @@ import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Optional;
import java.util.Set;
/** /**
* Swagger * Swagger
@ -42,6 +40,9 @@ public class SpringDocAutoConfiguration {
private final ServerProperties serverProperties; private final ServerProperties serverProperties;
@Value("${spring.application.name}")
private String appName;
@Bean @Bean
@ConditionalOnMissingBean(OpenAPI.class) @ConditionalOnMissingBean(OpenAPI.class)
public OpenAPI openApi(SpringDocProperties swaggerProperties) { public OpenAPI openApi(SpringDocProperties swaggerProperties) {
@ -92,12 +93,14 @@ public class SpringDocAutoConfiguration {
*/ */
@Bean @Bean
public OpenApiCustomizer openApiCustomizer() { public OpenApiCustomizer openApiCustomizer() {
// 拼接服务路径
String appPath = "/" + StringUtils.substring(appName, appName.indexOf("-") + 1);
String contextPath = serverProperties.getServlet().getContextPath(); String contextPath = serverProperties.getServlet().getContextPath();
String finalContextPath; String finalContextPath;
if (StringUtils.isBlank(contextPath) || "/".equals(contextPath)) { if (StringUtils.isBlank(contextPath) || "/".equals(contextPath)) {
finalContextPath = ""; finalContextPath = appPath;
} else { } else {
finalContextPath = contextPath; finalContextPath = appPath + contextPath;
} }
// 对所有路径增加前置上下文路径 // 对所有路径增加前置上下文路径
return openApi -> { return openApi -> {

Loading…
Cancel
Save