From 55f8624388c514110543d400f76c79cad2705c85 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 14 四月 2021 14:38:29 +0800
Subject: [PATCH] !13 同步dev分支 Merge pull request !13 from 疯狂的狮子li/dev
---
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java | 249 ++++++++++++++++++++++++-------------------------
1 files changed, 124 insertions(+), 125 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 86acc3f..9657081 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,125 +1,124 @@
-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.ruoyi.common.config.RuoYiConfig;
-import io.swagger.annotations.ApiOperation;
-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.spi.DocumentationType;
-import springfox.documentation.spi.service.contexts.SecurityContext;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
-
-/**
- * Swagger2鐨勬帴鍙i厤缃�
- *
- * @author ruoyi
- */
-@Configuration
-@EnableSwagger2
-public class SwaggerConfig
-{
- /** 绯荤粺鍩虹閰嶇疆 */
- @Autowired
- private RuoYiConfig ruoyiConfig;
-
- /** 鏄惁寮�鍚痵wagger */
- @Value("${swagger.enabled}")
- private boolean enabled;
-
- /** 璁剧疆璇锋眰鐨勭粺涓�鍓嶇紑 */
- @Value("${swagger.pathMapping}")
- private String pathMapping;
-
- /**
- * 鍒涘缓API
- */
- @Bean
- public Docket createRestApi()
- {
- return new Docket(DocumentationType.SWAGGER_2)
- // 鏄惁鍚敤Swagger
- .enable(enabled)
- // 鐢ㄦ潵鍒涘缓璇PI鐨勫熀鏈俊鎭紝灞曠ず鍦ㄦ枃妗g殑椤甸潰涓紙鑷畾涔夊睍绀虹殑淇℃伅锛�
- .apiInfo(apiInfo())
- // 璁剧疆鍝簺鎺ュ彛鏆撮湶缁橲wagger灞曠ず
- .select()
- // 鎵弿鎵�鏈夋湁娉ㄨВ鐨刟pi锛岀敤杩欑鏂瑰紡鏇寸伒娲�
- .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
- // 鎵弿鎸囧畾鍖呬腑鐨剆wagger娉ㄨВ
- // .apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger"))
- // 鎵弿鎵�鏈� .apis(RequestHandlerSelectors.any())
- .paths(PathSelectors.any())
- .build()
- /* 璁剧疆瀹夊叏妯″紡锛宻wagger鍙互璁剧疆璁块棶token */
- .securitySchemes(securitySchemes())
- .securityContexts(securityContexts())
- .pathMapping(pathMapping);
- }
-
- /**
- * 瀹夊叏妯″紡锛岃繖閲屾寚瀹歵oken閫氳繃Authorization澶磋姹傚ご浼犻��
- */
- private List<ApiKey> securitySchemes()
- {
- List<ApiKey> apiKeyList = new ArrayList<ApiKey>();
- apiKeyList.add(new ApiKey("Authorization", "Authorization", "header"));
- return apiKeyList;
- }
-
- /**
- * 瀹夊叏涓婁笅鏂�
- */
- private List<SecurityContext> securityContexts()
- {
- List<SecurityContext> securityContexts = new ArrayList<>();
- securityContexts.add(
- SecurityContext.builder()
- .securityReferences(defaultAuth())
- .forPaths(PathSelectors.regex("^(?!auth).*$"))
- .build());
- return securityContexts;
- }
-
- /**
- * 榛樿鐨勫畨鍏ㄤ笂寮曠敤
- */
- private List<SecurityReference> defaultAuth()
- {
- AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
- AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
- authorizationScopes[0] = authorizationScope;
- List<SecurityReference> securityReferences = new ArrayList<>();
- securityReferences.add(new SecurityReference("Authorization", authorizationScopes));
- return securityReferences;
- }
-
- /**
- * 娣诲姞鎽樿淇℃伅
- */
- private ApiInfo apiInfo()
- {
- // 鐢ˋpiInfoBuilder杩涜瀹氬埗
- return new ApiInfoBuilder()
- // 璁剧疆鏍囬
- .title("鏍囬锛氳嫢渚濈鐞嗙郴缁焈鎺ュ彛鏂囨。")
- // 鎻忚堪
- .description("鎻忚堪锛氱敤浜庣鐞嗛泦鍥㈡棗涓嬪叕鍙哥殑浜哄憳淇℃伅,鍏蜂綋鍖呮嫭XXX,XXX妯″潡...")
- // 浣滆�呬俊鎭�
- .contact(new Contact(ruoyiConfig.getName(), null, null))
- // 鐗堟湰
- .version("鐗堟湰鍙�:" + ruoyiConfig.getVersion())
- .build();
- }
-}
+package com.ruoyi.web.core.config;
+
+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.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.*;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spi.service.contexts.SecurityContext;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Swagger2鐨勬帴鍙i厤缃�
+ *
+ * @author ruoyi
+ */
+@Configuration
+@EnableSwagger2WebMvc
+@EnableKnife4j
+public class SwaggerConfig
+{
+ /** 绯荤粺鍩虹閰嶇疆 */
+ @Autowired
+ private RuoYiConfig ruoyiConfig;
+
+ /** 鏄惁寮�鍚痵wagger */
+ @Value("${swagger.enabled}")
+ private boolean enabled;
+
+ /** 璁剧疆璇锋眰鐨勭粺涓�鍓嶇紑 */
+ @Value("${swagger.pathMapping}")
+ private String pathMapping;
+
+ /**
+ * 鍒涘缓API
+ */
+ @Bean
+ public Docket createRestApi()
+ {
+ return new Docket(DocumentationType.SWAGGER_2)
+ // 鏄惁鍚敤Swagger
+ .enable(enabled)
+ // 鐢ㄦ潵鍒涘缓璇PI鐨勫熀鏈俊鎭紝灞曠ず鍦ㄦ枃妗g殑椤甸潰涓紙鑷畾涔夊睍绀虹殑淇℃伅锛�
+ .apiInfo(apiInfo())
+ // 璁剧疆鍝簺鎺ュ彛鏆撮湶缁橲wagger灞曠ず
+ .select()
+ // 鎵弿鎵�鏈夋湁娉ㄨВ鐨刟pi锛岀敤杩欑鏂瑰紡鏇寸伒娲�
+ .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
+ // 鎵弿鎸囧畾鍖呬腑鐨剆wagger娉ㄨВ
+ // .apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger"))
+ // 鎵弿鎵�鏈� .apis(RequestHandlerSelectors.any())
+ .paths(PathSelectors.any())
+ .build()
+ /* 璁剧疆瀹夊叏妯″紡锛宻wagger鍙互璁剧疆璁块棶token */
+ .securitySchemes(securitySchemes())
+ .securityContexts(securityContexts())
+ .pathMapping(pathMapping);
+ }
+
+ /**
+ * 瀹夊叏妯″紡锛岃繖閲屾寚瀹歵oken閫氳繃Authorization澶磋姹傚ご浼犻��
+ */
+ private List<ApiKey> securitySchemes()
+ {
+ List<ApiKey> apiKeyList = new ArrayList<ApiKey>();
+ apiKeyList.add(new ApiKey("Authorization", "Authorization", "header"));
+ return apiKeyList;
+ }
+
+ /**
+ * 瀹夊叏涓婁笅鏂�
+ */
+ private List<SecurityContext> securityContexts()
+ {
+ List<SecurityContext> securityContexts = new ArrayList<>();
+ securityContexts.add(
+ SecurityContext.builder()
+ .securityReferences(defaultAuth())
+ .forPaths(PathSelectors.regex("^(?!auth).*$"))
+ .build());
+ return securityContexts;
+ }
+
+ /**
+ * 榛樿鐨勫畨鍏ㄤ笂寮曠敤
+ */
+ private List<SecurityReference> defaultAuth()
+ {
+ AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
+ AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
+ authorizationScopes[0] = authorizationScope;
+ List<SecurityReference> securityReferences = new ArrayList<>();
+ securityReferences.add(new SecurityReference("Authorization", authorizationScopes));
+ return securityReferences;
+ }
+
+ /**
+ * 娣诲姞鎽樿淇℃伅
+ */
+ private ApiInfo apiInfo()
+ {
+ // 鐢ˋpiInfoBuilder杩涜瀹氬埗
+ return new ApiInfoBuilder()
+ // 璁剧疆鏍囬
+ .title("鏍囬锛氳嫢渚濈鐞嗙郴缁焈鎺ュ彛鏂囨。")
+ // 鎻忚堪
+ .description("鎻忚堪锛氱敤浜庣鐞嗛泦鍥㈡棗涓嬪叕鍙哥殑浜哄憳淇℃伅,鍏蜂綋鍖呮嫭XXX,XXX妯″潡...")
+ // 浣滆�呬俊鎭�
+ .contact(new Contact(ruoyiConfig.getName(), null, null))
+ // 鐗堟湰
+ .version("鐗堟湰鍙�:" + ruoyiConfig.getVersion())
+ .build();
+ }
+}
--
Gitblit v1.9.3