From ee064fa84c453602c99c092c9abfc700c2b29004 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期六, 15 五月 2021 14:25:48 +0800 Subject: [PATCH] update swagger升级3.0.2 --- ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java | 90 +++++++++++++++++++++++++------------------- 1 files changed, 51 insertions(+), 39 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java index 1273785..39c7786 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java @@ -1,56 +1,73 @@ package com.ruoyi.web.core.config; -import java.util.ArrayList; -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; import com.ruoyi.common.config.RuoYiConfig; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.service.ApiKey; -import springfox.documentation.service.AuthorizationScope; -import springfox.documentation.service.Contact; -import springfox.documentation.service.SecurityReference; +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 java.util.ArrayList; +import java.util.List; + /** * Swagger2鐨勬帴鍙i厤缃� - * - * @author ruoyi + * + * @author Lion Li */ @Configuration @EnableSwagger2 -public class SwaggerConfig -{ - /** 绯荤粺鍩虹閰嶇疆 */ +@EnableKnife4j +@ConditionalOnClass({Docket.class, ApiInfoBuilder.class}) +@ConditionalOnProperty(prefix = "swagger", value = "enable", matchIfMissing = true) +public class SwaggerConfig { + /** + * 绯荤粺鍩虹閰嶇疆 + */ @Autowired private RuoYiConfig ruoyiConfig; - /** 鏄惁寮�鍚痵wagger */ - @Value("${swagger.enabled}") - private boolean enabled; - - /** 璁剧疆璇锋眰鐨勭粺涓�鍓嶇紑 */ + /** + * 璁剧疆璇锋眰鐨勭粺涓�鍓嶇紑 + */ @Value("${swagger.pathMapping}") private String pathMapping; + + /** + * 鏍囬 + */ + @Value("${swagger.title}") + private String title; + + /** + * 鎻忚堪 + */ + @Value("${swagger.description}") + private String description; + + /** + * 鐗堟湰 + */ + @Value("${swagger.version}") + private String version; /** * 鍒涘缓API */ @Bean - public Docket createRestApi() - { + public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) - // 鏄惁鍚敤Swagger - .enable(enabled) // 鐢ㄦ潵鍒涘缓璇PI鐨勫熀鏈俊鎭紝灞曠ず鍦ㄦ枃妗g殑椤甸潰涓紙鑷畾涔夊睍绀虹殑淇℃伅锛� .apiInfo(apiInfo()) // 璁剧疆鍝簺鎺ュ彛鏆撮湶缁橲wagger灞曠ず @@ -64,16 +81,14 @@ .build() /* 璁剧疆瀹夊叏妯″紡锛宻wagger鍙互璁剧疆璁块棶token */ .securitySchemes(securitySchemes()) - .securityContexts(securityContexts()) - .pathMapping(pathMapping); + .securityContexts(securityContexts()); } /** * 瀹夊叏妯″紡锛岃繖閲屾寚瀹歵oken閫氳繃Authorization澶磋姹傚ご浼犻�� */ - private List<ApiKey> securitySchemes() - { - List<ApiKey> apiKeyList = new ArrayList<ApiKey>(); + private List<SecurityScheme> securitySchemes() { + List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>(); apiKeyList.add(new ApiKey("Authorization", "Authorization", "header")); return apiKeyList; } @@ -81,8 +96,7 @@ /** * 瀹夊叏涓婁笅鏂� */ - private List<SecurityContext> securityContexts() - { + private List<SecurityContext> securityContexts() { List<SecurityContext> securityContexts = new ArrayList<>(); securityContexts.add( SecurityContext.builder() @@ -95,8 +109,7 @@ /** * 榛樿鐨勫畨鍏ㄤ笂寮曠敤 */ - private List<SecurityReference> defaultAuth() - { + private List<SecurityReference> defaultAuth() { AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; authorizationScopes[0] = authorizationScope; @@ -108,18 +121,17 @@ /** * 娣诲姞鎽樿淇℃伅 */ - private ApiInfo apiInfo() - { + private ApiInfo apiInfo() { // 鐢ˋpiInfoBuilder杩涜瀹氬埗 return new ApiInfoBuilder() // 璁剧疆鏍囬 - .title("鏍囬锛氳嫢渚濈鐞嗙郴缁焈鎺ュ彛鏂囨。") + .title(title) // 鎻忚堪 - .description("鎻忚堪锛氱敤浜庣鐞嗛泦鍥㈡棗涓嬪叕鍙哥殑浜哄憳淇℃伅,鍏蜂綋鍖呮嫭XXX,XXX妯″潡...") + .description(description) // 浣滆�呬俊鎭� .contact(new Contact(ruoyiConfig.getName(), null, null)) // 鐗堟湰 - .version("鐗堟湰鍙�:" + ruoyiConfig.getVersion()) + .version(version) .build(); } } -- Gitblit v1.9.3