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

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.

相关推荐
热点推荐
儿媳花1.3万元请月嫂,产后30天发现,月嫂竟然是婆婆

儿媳花1.3万元请月嫂,产后30天发现,月嫂竟然是婆婆

木棉与橡树
2026-06-11 17:30:03
阴阳先生看房子风水:卧室里若有这2个东西,无论多贵也要丢掉

阴阳先生看房子风水:卧室里若有这2个东西,无论多贵也要丢掉

磊子讲史
2026-03-28 18:32:26
美国无人艇抵近拍照056并全身而退,中国为什么不击沉?

美国无人艇抵近拍照056并全身而退,中国为什么不击沉?

错过美好
2026-06-13 09:53:04
日媒:经查高市没资格当首相,日专家“败局已定,高市成笑话”

日媒:经查高市没资格当首相,日专家“败局已定,高市成笑话”

徐扙老表哥
2026-06-13 00:24:01
广西考生火了!肩挑三床被子回家,母亲曝更多细节,家长集体破防

广西考生火了!肩挑三床被子回家,母亲曝更多细节,家长集体破防

奇思妙想草叶君
2026-06-11 21:49:22
被官方吹上天的“苏-57”,原来竟是个笑话

被官方吹上天的“苏-57”,原来竟是个笑话

山间听雨
2026-06-13 10:09:36
白鹿疑过往恋情被扒,男方大她很多被曝是有妇之夫,官方下场回应

白鹿疑过往恋情被扒,男方大她很多被曝是有妇之夫,官方下场回应

白面书誏
2026-06-12 13:53:12
“教科书式老赖”黄淑芬,逆行撞死人拒赔11年,如今落得这样下场

“教科书式老赖”黄淑芬,逆行撞死人拒赔11年,如今落得这样下场

从零到一研究所
2026-06-05 16:49:52
美国顶级战略家一针见血,中国的这场危机不解决,未来后果很严重

美国顶级战略家一针见血,中国的这场危机不解决,未来后果很严重

吃货的分享
2026-06-13 06:49:41
美国要求中国继续向日本供应稀土。北京拒绝了。

美国要求中国继续向日本供应稀土。北京拒绝了。

小马姨
2026-06-13 09:10:39
时隔12年重返世界杯 欧洲最弱队险砸场东道主 9场不败+淘汰意大利

时隔12年重返世界杯 欧洲最弱队险砸场东道主 9场不败+淘汰意大利

我爱英超
2026-06-13 05:38:07
美俄都在盼中国倒下,全球却没人料到,中国握住了独一无二的底牌

美俄都在盼中国倒下,全球却没人料到,中国握住了独一无二的底牌

深析古今
2026-06-12 14:51:36
1951年,国民党官员妻子到访中南海,主席端详后严肃发问怎未带礼物

1951年,国民党官员妻子到访中南海,主席端详后严肃发问怎未带礼物

唠叨说历史
2026-06-01 19:49:35
美加墨世界杯:美国制造惨案3-0,巴洛贡独进两球霸榜 巴拉圭乌龙

美加墨世界杯:美国制造惨案3-0,巴洛贡独进两球霸榜 巴拉圭乌龙

郝小小看体育
2026-06-13 10:31:34
70%比赛在凌晨和上午,国内传统啤酒巨头均未与世界杯签约,五粮液首次以“官方联名产品合作伙伴”的身份入局

70%比赛在凌晨和上午,国内传统啤酒巨头均未与世界杯签约,五粮液首次以“官方联名产品合作伙伴”的身份入局

大风新闻
2026-06-12 15:44:23
故宫珍藏的清代皇室珍珠,为什么很多歪歪斜斜不够圆润?

故宫珍藏的清代皇室珍珠,为什么很多歪歪斜斜不够圆润?

收藏大视界
2026-06-12 23:26:52
中俄默契配合?制裁菲防长不到24小时,普京高调致贺,美算盘落空

中俄默契配合?制裁菲防长不到24小时,普京高调致贺,美算盘落空

娱乐的宅急便
2026-06-13 08:03:08
瑞舒伐他汀最致命的副作用!严重可肾衰竭!早点知道能保命

瑞舒伐他汀最致命的副作用!严重可肾衰竭!早点知道能保命

健康科普365
2026-06-12 20:15:05
央行修订大额存单管理办法:个人认购门槛拟降至20万,新增DR定价基准

央行修订大额存单管理办法:个人认购门槛拟降至20万,新增DR定价基准

第一财经资讯
2026-06-12 22:49:35
“你洗洗脚吧!”宝妈精心打扮接孩子,用力过猛被嘲讽

“你洗洗脚吧!”宝妈精心打扮接孩子,用力过猛被嘲讽

蝴蝶花雨话教育
2026-06-05 00:05:19
2026-06-13 11:16:49
开源中国 incentive-icons
开源中国
每天为开发者推送最新技术资讯
7812文章数 34544关注度
往期回顾 全部

科技要闻

SpaceX上市首日破2万亿美元,马斯克再封神

头条要闻

沈逸:日菲"地图开疆"耍花招 中方高度敏感明确回应

头条要闻

沈逸:日菲"地图开疆"耍花招 中方高度敏感明确回应

体育要闻

欧洲恐韩?肉德维德?

娱乐要闻

12年情怀碎一地!跑男接连翻车

财经要闻

梁文锋向左,杨植麟向右

汽车要闻

标配激光雷达/双动力可选 昊铂S600限时售17.99万起

态度原创

时尚
教育
数码
健康
艺术

今日热点:白鹿起诉蒙淇淇;岳云鹏回应开演唱会质疑……

教育要闻

高考出分后,如何冲稳保选院校志愿?

数码要闻

华硕ROG限量版电源上市:3000W标配四根12V-2×6线缆

老人、小孩、孕妇,吃粽子有啥风险

艺术要闻

砸了640亿,再赔160亿!沙特“The Line”项目彻底凉了?

无障碍浏览 进入关怀版