网易首页 > 网易号 > 正文 申请入驻

Knife4j 4.0正式发布,新征程!!!

0
分享至

Knife4j 4.0版本正式发布了!

该版本处理了近12个月以来Gitee、GitHub两大平台积压的近300多个issue

同时也带来了一些新的特性。

主要更新亮点:

  • 统一各个组件版本号,使用Knife4j时开发者根据需要自行引用,artifactId发生了变化

  • 支持Spring Boot 3

  • 兼容适配springdoc-openapi底层框架,全面迁移到OpenAPI3的规范支持

  • 针对OpenAPI2(Swagger)规范提供了优化,开发者基于Spring Boot2版本可以无缝衔接

  • Knife4j-Desktop组件架构升级重写,新架构支持不同需求的OpenAPI规范进行聚合

  • 提供官方Docker镜像服务,基于Knife4j可方便在云服务上进行使用

  • 官网文档更新重写

架构整理

为了以后Knife4j发展的可持续性,整个架构重新梳理,后续可以根据不同的需求,提供不同的服务

新的架构图,有的是规划(尚未实现),有的已经实现,欢迎大佬一起贡献。

统一版本

在此次4.0版本中,统一各个版本,将OpenAPI2规范与OpenAPI3规范区分开,避免版本及规范混乱使用产生的误解,使用者可以更清晰

需要注意,4.0版本artifactId发生了变化

目前knife4j的项目结构:


模块名称 说明 knife4j-aggregation-spring-boot-starter 基于 Servlet 体系下的聚合中间件 knife4j-core 核心类,包含一些工具包、增强注解等 knife4j-dependencies Knife4j 提供的 dependencies 工程,引入该工程后,knife4j\springfox\swagger\springdoc-openapi 等版本号不用在独自声明 knife4j-openapi2-ui 增强 UI 文档,该包是一个 webjar,只包含前端代码,支持 OpenAPI2 knife4j-openapi3-ui 增强 UI 文档,该包是一个 webjar,只包含前端代码,支持 OpenAPI3 knife4j-gateway-spring-boot-starter 基于Spring Cloud Gateway网关的项目可以引用该组件实现简单的文档聚合,参考https://gitee.com/xiaoym/knife4j/tree/dev/knife4j/knife4j-gateway-spring-boot-starter knife4j-openapi2-spring-boot-starter 基于 OpenAPI2 规范,在 Spring Boot < 3.0.0-M1 的单体架构下可以直接引用此 starter,该模块包含了 Ui 部分,底层依赖 springfox-swagger 2.10.5 项目 knife4j-openapi3-spring-boot-starter 基于 OpenAPI3 规范,在 Spring Boot < 3.0.0-M1 的单体架构下可以直接引用此 starter,该模块包含了 Ui 部分,底层基于 springdoc-openapi 项目 knife4j-openapi3-jakarta-spring-boot-starter 基于 OpenAPI3 规范,在 Spring Boot >= 3.0.0-M1 的单体架构下可以直接引用此 starter,该模块包含了 Ui 部分,底层基于 springdoc-openapi 项目

开发者继续使用Spring Boot 2以及OpenAPI2的规范

该starter底层依然依赖springfox项目,版本2.10.5

可以使用knife4j-openapi2-spring-boot-starter,maven坐标如下:


com.github.xiaoymingroupId>
knife4j-openapi2-spring-boot-starterartifactId>
4.0.0version>
dependency>

开发者使用Spring Boot 2以及OpenAPI3规范,那需要考虑在项目的注解上做迁移变更,并且knife4j 4.0版本针对3的规范底层迁移使用springdoc-openapi项目,放弃springfox3.0

可以使用knife4j-openapi3-spring-boot-starter,maven坐标如下:


com.github.xiaoymingroupId>
knife4j-openapi3-spring-boot-starterartifactId>
4.0.0version>
dependency>
支持Spring Boot 3

开发者使用Spring Boot 3以及使用OpenAPI3规范

可以使用knife4j-openapi3-jakarta-spring-boot-starter,maven坐标如下:


com.github.xiaoymingroupId>
knife4j-openapi3-jakarta-spring-boot-starterartifactId>
4.0.0version>
dependency>
Knife4j配置属性变化

此次Knife4j提供的Spring Boot Starter组件,增强配置属性通过spring-boot-configuration-processor工具自动生成spring-configuration-metadata.json描述性文件,因此,不同于之前的版本,配置属性会将之前的命名大写全部转为下划线

Knife4j之前的增强配置属性(老的):

knife4j:
enable: true
# 以setting配置为例
setting:
language: zh-CN
enableSwaggerModels: true
enableDocumentManage: true

Knife4j 4.0配置的增强属性(新的):

knife4j:
enable: true
setting:
custom-code: 500
enable-footer-custom: false
footer-custom-content: 我是自定义的Footer
springdoc-openapi项目增强适配

Knife4j之前的版本一直都是基于springfox项目提供了增强功能,此次4.0版本针对springdoc-openapi项目也提供了增强,Knife4j提供的增强功能可以无缝在OpenAPI3的规范中使用

Knife4j独立服务工具架构升级

Knife4j在此次版本中针对聚合OpenAPI规范文档提供了独立的服务组件

整个架构重新设计,代码重写,并将该服务发布到Docker官方镜像仓库,支持不同配置中心中间件对接,数据+应用进行分离,OpenAPI的数据源可以轻松放到配置中心中,实现文档的聚合

架构图如下:

文档

Knife4j新版本文档采用新的模板,可以区分不同的版本,方便开发使用者PR贡献或者查看

❗4.0版本的文档作者正在疯狂码字中…….敬请期待.
示例程序

正是由于4.0的文档还在输出中,因此Knife4j在4.0新版本中也提供了不同版本的示例程序

示例如下:

  • Spring Boot 2.x + OpenAPI2规范:knife4j-spring-boot27-demo

  • Spring Boot 2.x +OpenAPI3规范:knife4j-springdoc-openapi-demo

  • Spring Boot 3+ OpenAPI3规范:knife4j-spring-boot3-demo


整个4.0版本从确定开发方向以及迭代过程,感兴趣的朋友可以通过该issue了解:

https://gitee.com/xiaoym/knife4j/issues/I5LIQZ

开源白嫖不提倡?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
我刚从台湾回来:说实话很难听,但这就是真实的台湾省现状了

我刚从台湾回来:说实话很难听,但这就是真实的台湾省现状了

番外行
2026-02-24 19:45:01
11岁男童服务区被撞身亡,父亲哭诉:肇事车2次加速!司机称慌了,警方立案

11岁男童服务区被撞身亡,父亲哭诉:肇事车2次加速!司机称慌了,警方立案

上观新闻
2026-02-24 20:09:07
别再尬演白月光了!脸肿皮松,嘟嘴装嫩,是迷倒男人该有的皮囊?

别再尬演白月光了!脸肿皮松,嘟嘴装嫩,是迷倒男人该有的皮囊?

不似少年游
2026-02-24 19:46:25
中铁二十一局今年的年终奖工资单。。。

中铁二十一局今年的年终奖工资单。。。

新浪财经
2026-02-24 13:51:53
撒贝宁一家走完亲戚返京!老婆蜂腰翘臀太漂亮,龙凤胎身高不随爹

撒贝宁一家走完亲戚返京!老婆蜂腰翘臀太漂亮,龙凤胎身高不随爹

天天热点见闻
2026-02-24 09:18:53
德媒:要不是中国把所有脏活累活全给干了,欧洲今天也不会这么惨

德媒:要不是中国把所有脏活累活全给干了,欧洲今天也不会这么惨

梁讯
2026-02-24 20:04:43
比亚迪连续40个月销冠被终结

比亚迪连续40个月销冠被终结

大象新闻
2026-02-24 09:44:05
汪小菲妻子马筱梅产子,大方晒出宝宝正面照,张兰盛赞儿媳:把大S两个孩子视为己出,如今又为汪家添了骨血

汪小菲妻子马筱梅产子,大方晒出宝宝正面照,张兰盛赞儿媳:把大S两个孩子视为己出,如今又为汪家添了骨血

都市快报橙柿互动
2026-02-24 20:13:09
贝加尔湖事故中溺亡的7名国人,很大可能连赔偿都拿不到

贝加尔湖事故中溺亡的7名国人,很大可能连赔偿都拿不到

清书先生
2026-02-24 16:38:37
你有知道哪些炸裂的秘密?网友:我有个秘密说出来肯定大家要笑死

你有知道哪些炸裂的秘密?网友:我有个秘密说出来肯定大家要笑死

带你感受人间冷暖
2026-01-29 00:10:05
机关事业单位“取消双休”即将提上日程?2026年会落地吗?

机关事业单位“取消双休”即将提上日程?2026年会落地吗?

复转小能手
2026-02-24 17:33:33
凌峰:两岸婚姻太累,七十九岁隐居泰国,妻女失联,一人孤苦伶仃

凌峰:两岸婚姻太累,七十九岁隐居泰国,妻女失联,一人孤苦伶仃

小熊侃史
2026-02-23 13:03:54
文科生 72 小时杀入 GitHub 全球榜:我没写一行代码,但指挥了一支 AI 军队

文科生 72 小时杀入 GitHub 全球榜:我没写一行代码,但指挥了一支 AI 军队

极客公园
2026-02-24 12:13:10
烧光7个亿,3年就拆除!这些“伪地铁”为何坑惨了全球中小城市?

烧光7个亿,3年就拆除!这些“伪地铁”为何坑惨了全球中小城市?

百科密码
2026-02-23 16:38:14
2月24日俄乌最新:战争的天平开始倾斜

2月24日俄乌最新:战争的天平开始倾斜

西楼饮月
2026-02-24 21:37:50
中央三部门重磅定调:公务员不允许弹性延迟退休!

中央三部门重磅定调:公务员不允许弹性延迟退休!

浅深说
2026-02-24 13:12:00
中国男篮,郭士强任命新一任队长

中国男篮,郭士强任命新一任队长

体育哲人
2026-02-24 20:23:42
乌媒:俄乌冲突爆发4周年,泽连斯基首次展示冲突初期所使用地下掩体

乌媒:俄乌冲突爆发4周年,泽连斯基首次展示冲突初期所使用地下掩体

环球网资讯
2026-02-24 17:12:54
妈祖被换女孩三天涨粉几十万:一场“自导自演”的流量狂欢?

妈祖被换女孩三天涨粉几十万:一场“自导自演”的流量狂欢?

听心堂
2026-02-24 11:27:44
夫妻春节不回家送外卖1个月赚4万,骑手站长:青岛春节补贴最高8200元,月入2万日均需跑约70单

夫妻春节不回家送外卖1个月赚4万,骑手站长:青岛春节补贴最高8200元,月入2万日均需跑约70单

大风新闻
2026-02-24 15:44:14
2026-02-24 22:55:00
开源中国 incentive-icons
开源中国
每天为开发者推送最新技术资讯
7598文章数 34501关注度
往期回顾 全部

科技要闻

宇树科技发布四足机器人Unitree As2

头条要闻

白宫答伊朗问题:特朗普首选是外交 必要时也愿用武力

头条要闻

白宫答伊朗问题:特朗普首选是外交 必要时也愿用武力

体育要闻

苏翊鸣总结米兰征程:我仍是那个热爱单板滑雪的少年

娱乐要闻

汪小菲官宣三胎出生:承诺会照顾好3个孩子

财经要闻

县城消费「限时繁荣」了十天

汽车要闻

入门即满配 威兰达AIR版上市 13.78万元起

态度原创

健康
游戏
时尚
家居
房产

转头就晕的耳石症,能开车上班吗?

LPL季后赛:一局更比一局快,AL横扫WE,轻松晋级

阔腿裤失宠了?这4条裤子承包你整个春天的时髦!

家居要闻

本真栖居 爱暖伴流年

房产要闻

330万人涌入!春节全国楼市,第一个卖爆的区域出现了!

无障碍浏览 进入关怀版