Browse Source

feat: knife4j

xingyu 2 years ago
parent
commit
3d390d0d8f

+ 6 - 6
yudao-dependencies/pom.xml

@@ -19,7 +19,7 @@
         <spring.boot.version>2.7.7</spring.boot.version>
         <!-- Web 相关 -->
         <springdoc.version>1.6.14</springdoc.version>
-        <!--        <knife4j.version>4.0.0</knife4j.version>-->
+        <knife4j.version>4.0.0</knife4j.version>
         <servlet.versoin>2.5</servlet.versoin>
         <!-- DB 相关 -->
         <druid.version>1.2.15</druid.version>
@@ -164,11 +164,11 @@
                 <version>${revision}</version>
             </dependency>
 
-            <!--            <dependency>-->
-            <!--                <groupId>com.github.xiaoymin</groupId>-->
-            <!--                <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>-->
-            <!--                <version>${knife4j.version}</version>-->
-            <!--            </dependency>-->
+            <dependency>
+                <groupId>com.github.xiaoymin</groupId>
+                <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>
+                <version>${knife4j.version}</version>
+            </dependency>
             <dependency>
                 <groupId>org.springdoc</groupId>
                 <artifactId>springdoc-openapi-ui</artifactId>

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

@@ -58,10 +58,6 @@
             <scope>provided</scope> <!-- 设置为 provided,只有工具类需要使用到 -->
         </dependency>
 
-<!--        <dependency>-->
-<!--            <groupId>com.github.xiaoymin</groupId>-->
-<!--            <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>-->
-<!--        </dependency>-->
         <dependency>
             <groupId>org.springdoc</groupId>
             <artifactId>springdoc-openapi-ui</artifactId>

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

@@ -33,10 +33,10 @@
             <optional>true</optional>
         </dependency>
 
-<!--        <dependency>-->
-<!--            <groupId>com.github.xiaoymin</groupId>-->
-<!--            <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>-->
-<!--        </dependency>-->
+        <dependency>
+            <groupId>com.github.xiaoymin</groupId>
+            <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.springdoc</groupId>
             <artifactId>springdoc-openapi-ui</artifactId>

+ 22 - 0
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/swagger/config/SwaggerProperties.java

@@ -39,5 +39,27 @@ public class SwaggerProperties {
      */
     @NotEmpty(message = "扫描的 package 不能为空")
     private String basePackage;
+    /**
+     * url
+     */
+    @NotEmpty(message = "扫描的 package 不能为空")
+    private String url;
+    /**
+     * email
+     */
+    @NotEmpty(message = "扫描的 email 不能为空")
+    private String email;
+
+    /**
+     * license
+     */
+    @NotEmpty(message = "扫描的 license 不能为空")
+    private String license;
+
+    /**
+     * license-url
+     */
+    @NotEmpty(message = "扫描的 license-url 不能为空")
+    private String licenseUrl;
 
 }

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

@@ -44,8 +44,8 @@ public class YudaoSwaggerAutoConfiguration {
                 .title(properties.getTitle())
                 .description(properties.getDescription())
                 .version(properties.getVersion())
-                .contact(new Contact().name("xingyuv").url("xingyuv.com").email("xingyu4j@vip.qq.com"))
-                .license(new License().name("MIT").url("https://gitee.com/zhijiantianya/ruoyi-vue-pro/blob/master/LICENSE"));
+                .contact(new Contact().name(properties.getAuthor()).url(properties.getUrl()).email(properties.getEmail()))
+                .license(new License().name(properties.getLicense()).url(properties.getLicenseUrl()));
         return new OpenAPI()
                 .info(info)
                 .schemaRequirement(HttpHeaders.AUTHORIZATION, securityScheme())

+ 1 - 0
yudao-framework/yudao-spring-boot-starter-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1,4 +1,5 @@
 cn.iocoder.yudao.framework.apilog.config.YudaoApiLogAutoConfiguration
 cn.iocoder.yudao.framework.jackson.config.YudaoJacksonAutoConfiguration
+com.github.xiaoymin.knife4j.spring.configuration.Knife4jAutoConfiguration
 cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration
 cn.iocoder.yudao.framework.web.config.YudaoWebAutoConfiguration

+ 8 - 5
yudao-server/src/main/resources/application.yaml

@@ -43,11 +43,10 @@ springdoc:
     enabled: true
     path: /v3/api-docs
 
-
-#knife4j:
-#  enable: true
-#  setting:
-#    language: zh_cn
+knife4j:
+  enable: true
+  setting:
+    language: zh_cn
 
 # 工作流 Flowable 配置
 flowable:
@@ -117,6 +116,10 @@ yudao:
     description: 提供管理员管理的所有功能
     version: ${yudao.info.version}
     base-package: ${yudao.info.base-package}
+    url: ${yudao.web.admin-ui.url}
+    email: xingyu4j@vip.qq.com
+    license: MIT
+    license-url: https://gitee.com/zhijiantianya/ruoyi-vue-pro/blob/master/LICENSE
   captcha:
     enable: true # 验证码的开关,默认为 true
   codegen:

+ 1 - 1
yudao-ui-admin-vue3/src/views/infra/swagger/index.vue

@@ -8,5 +8,5 @@ import { ref } from 'vue'
 import { IFrame } from '@/components/IFrame'
 
 const BASE_URL = import.meta.env.VITE_BASE_URL
-const src = ref(BASE_URL + '/swagger-ui')
+const src = ref(BASE_URL + '/doc.html')
 </script>