Skip to content

Knife4j Next更现代的 Knife4j

延续熟悉的 doc.html 接入方式,持续修复 Spring Boot 2.7 / 3.x / 4.x 的兼容性。这是 Knife4j 的社区维护 fork。

Knife4j Next

这是 Knife4j 的 fork,不是重写

knife4j-nextxiaoymin/knife4j 的社区维护分支。

  • 保留 com.github.xiaoymin.knife4j.* Java 包名,不做重命名。
  • 保留 doc.html / v2/api-docs / v3/api-docs 访问入口。
  • 保留 @ApiOperationSupport@ApiSupportknife4j.* 等全部既有注解与配置键。
  • 只改 groupIdcom.github.xiaoymincom.baizhukui,其余业务代码不用动。

60 秒上手

Spring Boot 3.x(Jakarta):

xml
<dependency>
    <groupId>com.baizhukui</groupId>
    <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
    <version>5.0.8</version>
</dependency>

最小配置(使用 springdoc 默认 /v3/api-docs/swagger-ui.html):

yaml
knife4j:
  enable: true

knife4j.setting.language 默认就是 zh_cnspringdoc.swagger-ui.pathspringdoc.api-docs.path 也沿用 springdoc 默认值即可。真实项目可按需补充 springdoc.packages-to-scanpaths-to-matchswagger-ui.tags-sorter 等扫描与排序配置。

启动应用后访问 http://localhost:8080/doc.html。完整流程见 快速开始

5.0.8 版本亮点 最新

  • 🛠 修复 Jakarta 独立聚合 cloud 路由缺少 servicePathswagger-config 返回 500 的问题
  • 🧭 React UI 支持按 Knife4j 扩展字段 x-order 排序 tag 与 operation
  • 🧪 smoke 覆盖扩展到 Boot 2 / Boot 3 WebFlux、Gateway 与独立聚合场景
  • 📚 README、版本文档和 agent 协作流程继续收敛,发布前状态更容易核验
  • 🧩 继续包含 Boot4 WebMVC 与 Boot4 Gateway starter,覆盖 Spring Boot 4.x 入口

完整更新列表见 发布说明

关于新前端覆盖范围

新 React 前端当前仅覆盖部分 upstream 增强特性。它会读取部分 knife4j.setting.* UI 默认值,包括自定义 Footer 与后端注入的自定义首页 Markdown;但如果你依赖的是 enable-after-scriptenable-version、Postman 导出等 Vue 时代能力,请在切换到新前端前先查阅 新前端覆盖范围home-custom-path 仍由后端读取,不是前端读取文件的入口。knife4j-openapi2-ui 由本仓库 knife4j-vue3 构建,处于兼容维护状态,upstream 已有特性继续可用。

文档导航

上手

  • 产品介绍:这个 fork 的定位、与 upstream 的对照表
  • 快速开始:Spring Boot 2.x / 3.x / 4.x 完整接入
  • 迁移指引:从 com.github.xiaoymin 切到 com.baizhukui
  • Demo 预览knife4j-demo-openapi3(OpenAPI 3)与 knife4j-demo-openapi2(OpenAPI 2)两条线的本地跑 / Docker Compose
  • 常见问题:doc.html 404、生产环境禁用、Nginx 反向代理、React 配置不生效

组件

参考

其他

让 OpenAPI 文档更清晰,让接口联调更顺手。