From 4f43bc2d63bc4d79b32e4b5e3a6eed59c9352870 Mon Sep 17 00:00:00 2001 From: xingyu <xingyu4j@vip.qq.com> Date: Tue, 17 Jan 2023 15:30:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8D=87=E7=BA=A7knife4j=204.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yudao-dependencies/pom.xml | 4 +-- .../yudao-spring-boot-starter-web/pom.xml | 2 +- .../config/YudaoSwaggerAutoConfiguration.java | 30 +++++++++++-------- yudao-gateway/pom.xml | 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml index 277cf89e..64057d67 100644 --- a/yudao-dependencies/pom.xml +++ b/yudao-dependencies/pom.xml @@ -20,7 +20,7 @@ <spring.cloud.version>2021.0.5</spring.cloud.version> <spring.cloud.alibaba.version>2021.0.4.0</spring.cloud.alibaba.version> <!-- Web 相关 --> - <knife4j.version>3.0.3</knife4j.version> + <knife4j.version>4.0.0</knife4j.version> <swagger-annotations.version>1.6.8</swagger-annotations.version> <servlet.versoin>2.5</servlet.versoin> <!-- DB 相关 --> @@ -191,7 +191,7 @@ <dependency> <groupId>com.github.xiaoymin</groupId> - <artifactId>knife4j-spring-boot-starter</artifactId> + <artifactId>knife4j-openapi2-spring-boot-starter</artifactId> <version>${knife4j.version}</version> <exclusions> <exclusion> diff --git a/yudao-framework/yudao-spring-boot-starter-web/pom.xml b/yudao-framework/yudao-spring-boot-starter-web/pom.xml index a04a2f1b..790dc5eb 100644 --- a/yudao-framework/yudao-spring-boot-starter-web/pom.xml +++ b/yudao-framework/yudao-spring-boot-starter-web/pom.xml @@ -35,7 +35,7 @@ <dependency> <groupId>com.github.xiaoymin</groupId> - <artifactId>knife4j-spring-boot-starter</artifactId> + <artifactId>knife4j-openapi2-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>io.swagger</groupId> diff --git a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/swagger/config/YudaoSwaggerAutoConfiguration.java b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/swagger/config/YudaoSwaggerAutoConfiguration.java index 4c114b51..5ccbc06c 100644 --- a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/swagger/config/YudaoSwaggerAutoConfiguration.java +++ b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/swagger/config/YudaoSwaggerAutoConfiguration.java @@ -7,18 +7,18 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpHeaders; import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.ExampleBuilder; +import springfox.documentation.builders.ParameterBuilder; import springfox.documentation.builders.PathSelectors; -import springfox.documentation.builders.RequestParameterBuilder; +import springfox.documentation.schema.ModelRef; import springfox.documentation.service.*; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.service.contexts.SecurityContext; import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; +import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -31,7 +31,7 @@ import static springfox.documentation.builders.RequestHandlerSelectors.basePacka * @author èŠ‹é“æºç */ @AutoConfiguration -@EnableSwagger2 +@EnableSwagger2WebMvc @EnableKnife4j @ConditionalOnClass({Docket.class, ApiInfoBuilder.class}) // å…许使用 swagger.enable=false ç¦ç”¨ Swagger @@ -60,7 +60,7 @@ public class YudaoSwaggerAutoConfiguration { .securitySchemes(securitySchemes()) .securityContexts(securityContexts()) // â‘£ 免局傿•°ï¼ˆå¤šç§Ÿæˆ· header) - .globalRequestParameters(globalRequestParameters()); + .globalOperationParameters(globalRequestParameters()); } // ========== apiInfo ========== @@ -96,7 +96,7 @@ public class YudaoSwaggerAutoConfiguration { return Collections.singletonList(SecurityContext.builder() .securityReferences(securityReferences()) // 通过 PathSelectors.regex("^(?!auth).*$")ï¼ŒæŽ’é™¤åŒ…å« "auth" 的接å£ä¸éœ€è¦ä½¿ç”¨securitySchemes - .operationSelector(o -> o.requestMappingPattern().matches("^(?!auth).*$")) + .forPaths(PathSelectors.regex("^(?!auth).*$")) .build()); } @@ -110,11 +110,17 @@ public class YudaoSwaggerAutoConfiguration { // ========== globalRequestParameters ========== - private static List<RequestParameter> globalRequestParameters() { - RequestParameterBuilder tenantParameter = new RequestParameterBuilder() - .name(HEADER_TENANT_ID).description("租户编å·") - .in(ParameterType.HEADER).example(new ExampleBuilder().value(1L).build()); - return Collections.singletonList(tenantParameter.build()); + private static List<Parameter> globalRequestParameters() { + List<Parameter> tenantParameter = new ArrayList<>(); + tenantParameter.add(new ParameterBuilder() + .name(HEADER_TENANT_ID) + .description("租户编å·") + .modelRef(new ModelRef("long")) + .defaultValue("1") + .parameterType("header") + .required(true) + .build()); + return tenantParameter; } } diff --git a/yudao-gateway/pom.xml b/yudao-gateway/pom.xml index 45ebc2ec..a0a03fd6 100644 --- a/yudao-gateway/pom.xml +++ b/yudao-gateway/pom.xml @@ -46,7 +46,7 @@ <dependency> <groupId>com.github.xiaoymin</groupId> - <artifactId>knife4j-spring-boot-starter</artifactId> + <artifactId>knife4j-openapi2-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>io.swagger</groupId> -- 2.17.1