refactor(server): replace Knife4j with SpringDoc OpenAPI 2.8.16

This commit is contained in:
matevip 2026-04-05 07:24:00 +08:00
parent cccd364993
commit 4f60043549
5 changed files with 17 additions and 16 deletions

View File

@ -76,7 +76,7 @@ export DASHSCOPE_API_KEY=your-key-here
mvn spring-boot:run mvn spring-boot:run
# Backend runs at http://localhost:18088 # Backend runs at http://localhost:18088
# H2 Console: http://localhost:18088/h2-console # H2 Console: http://localhost:18088/h2-console
# API Docs (Knife4j): http://localhost:18088/doc.html # API Docs (SpringDoc OpenAPI): http://localhost:18088/swagger-ui.html
``` ```
**2. Start the frontend** **2. Start the frontend**
@ -176,7 +176,7 @@ mateclaw/
| Database | H2 (dev) / MySQL 8.0+ (prod) | | Database | H2 (dev) / MySQL 8.0+ (prod) |
| ORM | MyBatis Plus 3.5 | | ORM | MyBatis Plus 3.5 |
| Authentication | Spring Security + JWT | | Authentication | Spring Security + JWT |
| API Docs | Knife4j (OpenAPI 3) | | API Docs | SpringDoc OpenAPI 3 |
| Frontend | Vue 3 + TypeScript + Vite | | Frontend | Vue 3 + TypeScript + Vite |
| State Management | Pinia | | State Management | Pinia |
| UI Components | Element Plus | | UI Components | Element Plus |

View File

@ -76,7 +76,7 @@ export DASHSCOPE_API_KEY=your-key-here
mvn spring-boot:run mvn spring-boot:run
# 后端运行在 http://localhost:18088 # 后端运行在 http://localhost:18088
# H2 控制台http://localhost:18088/h2-console # H2 控制台http://localhost:18088/h2-console
# API 文档(Knife4jhttp://localhost:18088/doc.html # API 文档(SpringDoc OpenAPIhttp://localhost:18088/swagger-ui.html
``` ```
**2. 启动前端** **2. 启动前端**
@ -176,7 +176,7 @@ mateclaw/
| 数据库 | H2开发/ MySQL 8.0+(生产) | | 数据库 | H2开发/ MySQL 8.0+(生产) |
| ORM | MyBatis Plus 3.5 | | ORM | MyBatis Plus 3.5 |
| 认证 | Spring Security + JWT | | 认证 | Spring Security + JWT |
| API 文档 | Knife4j (OpenAPI 3) | | API 文档 | SpringDoc OpenAPI 3 |
| 前端框架 | Vue 3 + TypeScript + Vite | | 前端框架 | Vue 3 + TypeScript + Vite |
| 状态管理 | Pinia | | 状态管理 | Pinia |
| UI 组件 | Element Plus | | UI 组件 | Element Plus |

View File

@ -28,7 +28,7 @@
<spring-ai-alibaba.version>1.1.2.2</spring-ai-alibaba.version> <spring-ai-alibaba.version>1.1.2.2</spring-ai-alibaba.version>
<mybatis-plus.version>3.5.16</mybatis-plus.version> <mybatis-plus.version>3.5.16</mybatis-plus.version>
<hutool.version>5.8.26</hutool.version> <hutool.version>5.8.26</hutool.version>
<knife4j.version>4.5.0</knife4j.version> <springdoc.version>2.8.16</springdoc.version>
<jjwt.version>0.12.6</jjwt.version> <jjwt.version>0.12.6</jjwt.version>
</properties> </properties>
@ -42,6 +42,14 @@
<type>pom</type> <type>pom</type>
<scope>import</scope> <scope>import</scope>
</dependency> </dependency>
<!-- SpringDoc OpenAPI BOM统一管理 springdoc-* 版本) -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-bom</artifactId>
<version>${springdoc.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
@ -157,11 +165,10 @@
<scope>runtime</scope> <scope>runtime</scope>
</dependency> </dependency>
<!-- ===== Knife4j API 文档 ===== --> <!-- ===== SpringDoc OpenAPISwagger UI for Spring MVC ===== -->
<dependency> <dependency>
<groupId>com.github.xiaoymin</groupId> <groupId>org.springdoc</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${knife4j.version}</version>
</dependency> </dependency>
<!-- ===== Hutool 工具库 ===== --> <!-- ===== Hutool 工具库 ===== -->

View File

@ -52,7 +52,7 @@ public class SecurityConfig {
.requestMatchers( .requestMatchers(
"/api/v1/auth/login", "/api/v1/auth/login",
"/api/v1/settings/language", "/api/v1/settings/language",
"/doc.html", "/swagger-ui.html",
"/swagger-ui/**", "/swagger-ui/**",
"/v3/api-docs/**", "/v3/api-docs/**",
"/webjars/**", "/webjars/**",

View File

@ -61,12 +61,6 @@ mybatis-plus:
logic-delete-value: 1 logic-delete-value: 1
logic-not-delete-value: 0 logic-not-delete-value: 0
# Knife4j API 文档
knife4j:
enable: true
setting:
language: zh_cn
# SpringDoc OpenAPI # SpringDoc OpenAPI
springdoc: springdoc:
api-docs: api-docs: