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

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-04-29 00:03:37
太空探索的荒诞真相:人类最伟大的事业,困在薯片罐里

太空探索的荒诞真相:人类最伟大的事业,困在薯片罐里

晚风也遗憾
2026-04-28 01:02:14
那年初春的跑马场上,李嘉欣与许晋亨深情拥吻的一幕

那年初春的跑马场上,李嘉欣与许晋亨深情拥吻的一幕

娱你同欢
2026-04-27 17:47:48
从20万到16亿,一个普通散户的“笨办法”投资传奇

从20万到16亿,一个普通散户的“笨办法”投资传奇

流苏晚晴
2026-04-20 20:13:29
钱再多有什么用?因嘴唇发紫去检查心脏的陆毅,给所有人提了个醒

钱再多有什么用?因嘴唇发紫去检查心脏的陆毅,给所有人提了个醒

青杉依旧啊啊
2026-04-27 17:45:13
全球首家AI妓院,革了成人行业的命

全球首家AI妓院,革了成人行业的命

广告案例精选
2026-04-02 14:49:22
圆明园地下大反转,大火烧掉的仅是圆明园的表皮

圆明园地下大反转,大火烧掉的仅是圆明园的表皮

混沌录
2026-04-24 21:02:11
赵露思真把“看着不大,实则敞亮”玩明白了!

赵露思真把“看着不大,实则敞亮”玩明白了!

飛娱日记
2026-04-26 08:49:04
多个5A景区回应文旅部点名摆渡车问题:天柱山景区称已整改,其余景区正常运营

多个5A景区回应文旅部点名摆渡车问题:天柱山景区称已整改,其余景区正常运营

上游新闻
2026-04-28 16:35:09
重磅!名记:79岁佛爷钦点63岁穆帅今夏回归 14年前100分称霸西甲

重磅!名记:79岁佛爷钦点63岁穆帅今夏回归 14年前100分称霸西甲

风过乡
2026-04-28 20:13:12
K77双响超姆巴佩队史第1人,登贝莱造3球,巴黎5-4拜仁造欧冠神迹

K77双响超姆巴佩队史第1人,登贝莱造3球,巴黎5-4拜仁造欧冠神迹

钉钉陌上花开
2026-04-29 04:58:08
中国绝大多数小县城,其实根本没有独立创造财富的能力

中国绝大多数小县城,其实根本没有独立创造财富的能力

流苏晚晴
2026-04-11 17:53:01
不出 5 年,中国贬值最快的不是房子和现金,而是这 3 样东西

不出 5 年,中国贬值最快的不是房子和现金,而是这 3 样东西

细说职场
2026-04-26 21:04:20
阿Sa老公婚后现身回应,称要努力赚钱养家,女方已雪卵被亲友催生

阿Sa老公婚后现身回应,称要努力赚钱养家,女方已雪卵被亲友催生

开开森森
2026-04-28 17:58:51
济南市槐荫区人大常委会城乡建设处原处长江光坤主动投案,接受审查调查

济南市槐荫区人大常委会城乡建设处原处长江光坤主动投案,接受审查调查

鲁中晨报
2026-04-28 16:48:04
85年我放走被俘越南女兵,34年后我去河内,一整个车队在机场等我

85年我放走被俘越南女兵,34年后我去河内,一整个车队在机场等我

卡西莫多的故事
2026-01-22 09:58:10
“神仙员工”每天最早到最晚走,不断上报“稳赚十几万”大项目,老板多次爽快拨款!一看账户资金,傻眼了……

“神仙员工”每天最早到最晚走,不断上报“稳赚十几万”大项目,老板多次爽快拨款!一看账户资金,傻眼了……

海峡网
2026-04-27 21:19:03
卡塔尔承诺如果国际刑事法院检察官汗追捕内塔尼亚胡,将“照顾”他

卡塔尔承诺如果国际刑事法院检察官汗追捕内塔尼亚胡,将“照顾”他

老王说正义
2026-04-29 00:04:53
伯克利、哈佛、宾夕法尼亚、斯坦福重磅综述:“学习力学”将成为深度学习的科学理论

伯克利、哈佛、宾夕法尼亚、斯坦福重磅综述:“学习力学”将成为深度学习的科学理论

新浪财经
2026-04-28 00:31:20
艺考生:砸光父母积蓄,终成“廉价打工人”,谁在制造这场骗局?

艺考生:砸光父母积蓄,终成“廉价打工人”,谁在制造这场骗局?

社会日日鲜
2026-04-27 12:38:49
2026-04-29 08:04:49
开源中国 incentive-icons
开源中国
每天为开发者推送最新技术资讯
7706文章数 34536关注度
往期回顾 全部

科技要闻

微软刚“松绑”,OpenAI火速牵手亚马逊!

头条要闻

阿联酋突然退出欧佩克 被视为是"特朗普的一次胜利"

头条要闻

阿联酋突然退出欧佩克 被视为是"特朗普的一次胜利"

体育要闻

魔术黑八活塞,一步之遥?!

娱乐要闻

蔡卓妍官宣结婚,老公比她小10岁

财经要闻

中央政治局会议定调,八大看点速览!

汽车要闻

拒绝疯狂套娃!现代艾尼氪金星长在未来审美点上

态度原创

游戏
本地
房产
数码
亲子

《吉时已到》新情报公布 虚幻5买断制国风惊悚大作

本地新闻

用青花瓷的方式,打开西溪湿地

房产要闻

红利爆发!海南,冲到全国人口增量第4省!

数码要闻

全年省电2160度!小米推出米家中央空调风管机巨省电2026款:国补价4504元起

亲子要闻

伤害孩子的坏人和变态,是不分性别的!

无障碍浏览 进入关怀版