From ac9e3f2ca4d2255739f8b60165f5b51b31ccd3e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 13 Jan 2023 23:00:08 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E9=80=82=E9=85=8D=20springdoc=20?= =?UTF-8?q?=E6=96=B0=E7=89=88=E6=9C=AC=E9=85=8D=E7=BD=AE=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/framework/config/SwaggerConfig.java | 10 ++- .../framework/handler/OpenApiHandler.java | 70 +++++++------------ 2 files changed, 32 insertions(+), 48 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java index ab92cf591..a84b73132 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java @@ -8,11 +8,15 @@ import io.swagger.v3.oas.models.Paths; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.security.SecurityRequirement; import lombok.RequiredArgsConstructor; -import org.springdoc.core.*; +import org.springdoc.core.configuration.SpringDocConfiguration; import org.springdoc.core.customizers.OpenApiBuilderCustomizer; -import org.springdoc.core.customizers.OpenApiCustomiser; +import org.springdoc.core.customizers.OpenApiCustomizer; import org.springdoc.core.customizers.ServerBaseUrlCustomizer; +import org.springdoc.core.properties.SpringDocConfigProperties; import org.springdoc.core.providers.JavadocProvider; +import org.springdoc.core.service.OpenAPIService; +import org.springdoc.core.service.SecurityService; +import org.springdoc.core.utils.PropertyResolverUtils; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -88,7 +92,7 @@ public class SwaggerConfig { * 对已经生成好的 OpenApi 进行自定义操作 */ @Bean - public OpenApiCustomiser openApiCustomiser() { + public OpenApiCustomizer openApiCustomiser() { String contextPath = serverProperties.getServlet().getContextPath(); String finalContextPath; if (StringUtils.isBlank(contextPath) || "/".equals(contextPath)) { diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/OpenApiHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/OpenApiHandler.java index 608cae5de..3bb239e26 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/OpenApiHandler.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/OpenApiHandler.java @@ -9,16 +9,15 @@ import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.Paths; import io.swagger.v3.oas.models.tags.Tag; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springdoc.core.OpenAPIService; -import org.springdoc.core.PropertyResolverUtils; -import org.springdoc.core.SecurityService; -import org.springdoc.core.SpringDocConfigProperties; import org.springdoc.core.customizers.OpenApiBuilderCustomizer; import org.springdoc.core.customizers.ServerBaseUrlCustomizer; +import org.springdoc.core.properties.SpringDocConfigProperties; import org.springdoc.core.providers.JavadocProvider; +import org.springdoc.core.service.OpenAPIService; +import org.springdoc.core.service.SecurityService; +import org.springdoc.core.utils.PropertyResolverUtils; import org.springframework.context.ApplicationContext; import org.springframework.core.annotation.AnnotatedElementUtils; import org.springframework.util.CollectionUtils; @@ -34,18 +33,14 @@ import java.util.stream.Stream; * 自定义 openapi 处理器 * 对源码功能进行修改 增强使用 */ +@Slf4j @SuppressWarnings("all") public class OpenApiHandler extends OpenAPIService { /** - * The constant LOGGER. + * The Basic error controller. */ - private static final Logger LOGGER = LoggerFactory.getLogger(OpenAPIService.class); - - /** - * The Context. - */ - private ApplicationContext context; + private static Class basicErrorController; /** * The Security parser. @@ -60,7 +55,7 @@ public class OpenApiHandler extends OpenAPIService { /** * The Springdoc tags. */ - private final Map springdocTags = new HashMap<>(); + private final Map springdocTags = new HashMap<>(); /** * The Open api builder customisers. @@ -77,26 +72,11 @@ public class OpenApiHandler extends OpenAPIService { */ private final SpringDocConfigProperties springDocConfigProperties; - /** - * The Open api. - */ - private OpenAPI openAPI; - /** * The Cached open api map. */ private final Map cachedOpenAPI = new HashMap<>(); - /** - * The Is servers present. - */ - private boolean isServersPresent; - - /** - * The Server base url. - */ - private String serverBaseUrl; - /** * The Property resolver utils. */ @@ -108,24 +88,24 @@ public class OpenApiHandler extends OpenAPIService { private final Optional javadocProvider; /** - * The Basic error controller. + * The Context. */ - private static Class basicErrorController; + private ApplicationContext context; - static { - try { - //spring-boot 2 - basicErrorController = Class.forName("org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController"); - } catch (ClassNotFoundException e) { - //spring-boot 1 - try { - basicErrorController = Class.forName("org.springframework.boot.autoconfigure.web.BasicErrorController"); - } catch (ClassNotFoundException classNotFoundException) { - //Basic error controller class not found - LOGGER.trace(classNotFoundException.getMessage()); - } - } - } + /** + * The Open api. + */ + private OpenAPI openAPI; + + /** + * The Is servers present. + */ + private boolean isServersPresent; + + /** + * The Server base url. + */ + private String serverBaseUrl; /** * Instantiates a new Open api builder.