From 1ca5584d7e3200a9af65a099bd26d3593e2ba702 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 07 五月 2026 14:36:08 +0800
Subject: [PATCH] 迁移pro
---
src/main/java/com/ruoyi/framework/config/SwaggerConfig.java | 177 +++++++++++++++++-----------------------------------------
1 files changed, 53 insertions(+), 124 deletions(-)
diff --git a/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java b/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
index ccf8d65..e42ef54 100644
--- a/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
+++ b/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
@@ -1,124 +1,53 @@
-package com.ruoyi.framework.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 io.swagger.annotations.ApiOperation;
-import io.swagger.models.auth.In;
-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.SecurityScheme;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spi.service.contexts.SecurityContext;
-import springfox.documentation.spring.web.plugins.Docket;
-
-/**
- * Swagger2鐨勬帴鍙i厤缃�
- *
- * @author ruoyi
- */
-@Configuration
-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.OAS_30)
- // 鏄惁鍚敤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<SecurityScheme> securitySchemes()
- {
- List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>();
- apiKeyList.add(new ApiKey("Authorization", "Authorization", In.HEADER.toValue()));
- return apiKeyList;
- }
-
- /**
- * 瀹夊叏涓婁笅鏂�
- */
- private List<SecurityContext> securityContexts()
- {
- List<SecurityContext> securityContexts = new ArrayList<>();
- securityContexts.add(
- SecurityContext.builder()
- .securityReferences(defaultAuth())
- .operationSelector(o -> o.requestMappingPattern().matches("/.*"))
- .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.framework.config;
+
+import io.swagger.v3.oas.models.Components;
+import io.swagger.v3.oas.models.OpenAPI;
+import io.swagger.v3.oas.models.info.Contact;
+import io.swagger.v3.oas.models.info.Info;
+import io.swagger.v3.oas.models.security.SecurityRequirement;
+import io.swagger.v3.oas.models.security.SecurityScheme;
+import org.springdoc.core.models.GroupedOpenApi;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * OpenAPI 鏂囨。閰嶇疆銆�
+ */
+@Configuration
+@ConditionalOnProperty(prefix = "swagger", name = "enabled", havingValue = "true", matchIfMissing = true)
+public class SwaggerConfig
+{
+ @Autowired
+ private RuoYiConfig ruoyiConfig;
+
+ @Bean
+ public OpenAPI openAPI()
+ {
+ String schemeName = "Authorization";
+ return new OpenAPI()
+ .info(new Info()
+ .title("鏍囬锛氳嫢渚濈鐞嗙郴缁熸帴鍙f枃妗�")
+ .description("鎻忚堪锛氱敤浜庣鐞嗛泦鍥㈡棗涓嬪叕鍙哥殑浜哄憳淇℃伅锛屽叿浣撳寘鎷� XXX銆乆XX 妯″潡銆�")
+ .version("鐗堟湰鍙凤細" + ruoyiConfig.getVersion())
+ .contact(new Contact().name(ruoyiConfig.getName())))
+ .components(new Components().addSecuritySchemes(schemeName,
+ new SecurityScheme()
+ .name(schemeName)
+ .type(SecurityScheme.Type.APIKEY)
+ .in(SecurityScheme.In.HEADER)))
+ .addSecurityItem(new SecurityRequirement().addList(schemeName));
+ }
+
+ @Bean
+ public GroupedOpenApi defaultOpenApi()
+ {
+ return GroupedOpenApi.builder()
+ .group("default")
+ // 鎵弿椤圭洰鐪熷疄鏆撮湶鐨勬帴鍙h矾寰勶紝涓嶇敤 swagger.pathMapping 鍋氫簩娆¤繃婊わ紝
+ // 鍚﹀垯鍍� /dev-api 杩欑被缃戝叧鍓嶇紑浼氭妸鏈湴 Controller 鍏ㄩ儴杩囨护鎺夈��
+ .pathsToMatch("/**")
+ .build();
+ }
+}
--
Gitblit v1.9.3