Bladeren bron

refactor: springdoc 替换 springfox

xingyu4j 2 jaren geleden
bovenliggende
commit
88ce5e540e

+ 1 - 1
yudao-dependencies/pom.xml

@@ -165,7 +165,7 @@
 
             <dependency>
                 <groupId>org.springdoc</groupId>
-                <artifactId>springdoc-openapi-javadoc</artifactId>
+                <artifactId>springdoc-openapi-ui</artifactId>
                 <version>${springdoc.version}</version>
             </dependency>
 

+ 0 - 5
yudao-framework/yudao-common/pom.xml

@@ -63,11 +63,6 @@
             <artifactId>springdoc-openapi-webmvc-core</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>org.springdoc</groupId>
-            <artifactId>springdoc-openapi-javadoc</artifactId>
-        </dependency>
-
         <!-- 监控相关 -->
         <dependency>
             <groupId>org.apache.skywalking</groupId>

+ 1 - 1
yudao-framework/yudao-spring-boot-starter-web/pom.xml

@@ -40,7 +40,7 @@
 
         <dependency>
             <groupId>org.springdoc</groupId>
-            <artifactId>springdoc-openapi-javadoc</artifactId>
+            <artifactId>springdoc-openapi-ui</artifactId>
         </dependency>
 
         <dependency>

+ 25 - 10
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/swagger/config/YudaoSwaggerAutoConfiguration.java

@@ -1,7 +1,6 @@
 package cn.iocoder.yudao.framework.swagger.config;
 
 import io.swagger.v3.oas.models.Components;
-import io.swagger.v3.oas.models.ExternalDocumentation;
 import io.swagger.v3.oas.models.OpenAPI;
 import io.swagger.v3.oas.models.info.Info;
 import io.swagger.v3.oas.models.info.License;
@@ -15,6 +14,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
 import org.springframework.context.annotation.Bean;
 import org.springframework.http.HttpHeaders;
 
+import java.util.Arrays;
+
 /**
  * Swagger3 自动配置类
  *
@@ -29,15 +30,30 @@ public class YudaoSwaggerAutoConfiguration {
 
     @Bean
     public OpenAPI createRestApi(SwaggerProperties properties) {
-        return new OpenAPI()
-                .info(new Info().title(properties.getTitle())
-                        .description(properties.getDescription())
-                        .version(properties.getVersion())
-                        .license(new License().name("MIT").url("https://gitee.com/zhijiantianya/ruoyi-vue-pro/blob/master/LICENSE")))
-                .externalDocs(new ExternalDocumentation()
-                        .description(properties.getDescription())
-                        .url("https://gitee.com/zhijiantianya/ruoyi-vue-pro"));
+        //信息
+        Info info = new Info()
+                .title(properties.getTitle())
+                .description(properties.getDescription())
+                .version(properties.getVersion())
+                .license(new License().name("MIT").url("https://gitee.com/zhijiantianya/ruoyi-vue-pro/blob/master/LICENSE"));
+        //鉴权组件(随便起名的)
+        SecurityScheme securityScheme = new SecurityScheme()
+                .type(SecurityScheme.Type.OAUTH2)
+                .scheme("bearer")//固定写法
+                .bearerFormat("JWT")
+                .in(SecurityScheme.In.HEADER)
+                .name(HttpHeaders.AUTHORIZATION);
+        Components components = new Components()
+                .addSecuritySchemes("bearer", securityScheme);
+
+        //鉴权限制要求(随便起名的)
+        SecurityRequirement securityRequirement = new SecurityRequirement()
+                .addList("bearer", Arrays.asList("read", "write"));
 
+        return new OpenAPI()
+                .info(info)
+                .components(components)
+                .addSecurityItem(securityRequirement);
     }
 
     @Bean
@@ -56,5 +72,4 @@ public class YudaoSwaggerAutoConfiguration {
                 .build();
     }
 
-
 }