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

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-01 12:13:19
上海相亲角现状曝光:地里白菜烂成堆,猪圈的猪饿断肠

上海相亲角现状曝光:地里白菜烂成堆,猪圈的猪饿断肠

谈史论天地
2026-04-02 10:02:02
寿命与大便次数有关?研究发现:寿命长的人,每天排便在这个次数

寿命与大便次数有关?研究发现:寿命长的人,每天排便在这个次数

DrX说
2025-10-24 14:15:19
震惊!两名华人被撤销美国国籍,曾以“杰出人才”移民美国,面临遣返回国

震惊!两名华人被撤销美国国籍,曾以“杰出人才”移民美国,面临遣返回国

大洛杉矶LA
2026-04-01 07:10:00
张雪峰登上纽约时报!被高度评价:一个教中国孩子成功的男人

张雪峰登上纽约时报!被高度评价:一个教中国孩子成功的男人

两只米老鼠
2026-04-01 05:09:46
伊朗:打击了沙特阿拉伯苏丹王子空军基地内的美军飞行员住所,当时里面有200名美军官兵

伊朗:打击了沙特阿拉伯苏丹王子空军基地内的美军飞行员住所,当时里面有200名美军官兵

极目新闻
2026-04-01 07:07:29
伊朗高官:伊朗人民面对侵略不会沉默

伊朗高官:伊朗人民面对侵略不会沉默

新华社
2026-04-01 18:38:07
中央官宣!4月1日起,药店购药3大统一,退休人员每月少花几百块

中央官宣!4月1日起,药店购药3大统一,退休人员每月少花几百块

阿纂看事
2026-04-01 15:52:11
749局高人揭秘:人死后大概率轮回为畜生,活人进入轮回永不超生

749局高人揭秘:人死后大概率轮回为畜生,活人进入轮回永不超生

飞云如水
2024-11-16 13:10:04
世界杯爆大冷!世界冠军1-3出局,国乒小将惨败,张本美和剃光头

世界杯爆大冷!世界冠军1-3出局,国乒小将惨败,张本美和剃光头

林子说事
2026-04-02 11:04:36
惊讶!伊朗大捷!用一场标志性大胜,让美军创下战后最大战损记录

惊讶!伊朗大捷!用一场标志性大胜,让美军创下战后最大战损记录

军机Talk
2026-03-30 11:02:14
疯了!北京3月楼市彻底火了,买房的都慌了?

疯了!北京3月楼市彻底火了,买房的都慌了?

光宇吐楼市
2026-04-01 20:24:52
港口滞留费用暴涨,美国终于下场,中方心意已决,巴拿马苦不堪言

港口滞留费用暴涨,美国终于下场,中方心意已决,巴拿马苦不堪言

霁寒飘雪
2026-04-01 10:19:11
普京智囊做出预言:下一个爆发战争的地方既不是台海,也不是南海

普京智囊做出预言:下一个爆发战争的地方既不是台海,也不是南海

墨羽怪谈
2026-04-02 08:40:44
伊朗现大量逃兵?特朗普暴跳如雷,欧洲盟友集体沉默

伊朗现大量逃兵?特朗普暴跳如雷,欧洲盟友集体沉默

小小科普员
2026-04-02 14:22:40
宋宁峰道歉被扒是演戏!发声明前夜与Q女士车内长谈6小时,戏精!

宋宁峰道歉被扒是演戏!发声明前夜与Q女士车内长谈6小时,戏精!

未曾青梅
2026-04-02 13:54:26
中国“退步”最快的城市:曾与上海、南京齐名,如今却沦为三线

中国“退步”最快的城市:曾与上海、南京齐名,如今却沦为三线

谈史论天地
2026-04-02 07:04:24
核桃立大功!国际顶刊证实:可降低全身炎症,4周寿命延长45%

核桃立大功!国际顶刊证实:可降低全身炎症,4周寿命延长45%

邹小蘑菇
2026-03-31 12:02:26
特朗普:美国将在两到三周内离开伊朗

特朗普:美国将在两到三周内离开伊朗

参考消息
2026-04-01 13:28:04
2026年世界杯历史性时刻:8支阿拉伯球队成功晋级!

2026年世界杯历史性时刻:8支阿拉伯球队成功晋级!

球天下资讯
2026-04-01 23:53:53
2026-04-02 15:08:49
开源中国 incentive-icons
开源中国
每天为开发者推送最新技术资讯
7662文章数 34513关注度
往期回顾 全部

科技要闻

SpaceX秘密申报IPO,估值冲刺12万亿

头条要闻

媒体:打了一个月把美国带入泥潭 特朗普面临两难抉择

头条要闻

媒体:打了一个月把美国带入泥潭 特朗普面临两难抉择

体育要闻

这六个字,代表了邵佳一的新国足

娱乐要闻

宋宁峰带女儿出轨,张婉婷找董璇哭诉

财经要闻

电商售械三水光针 机构倒货or假货猖獗?

汽车要闻

2026款海豹06GT/海豹06DM-i旅行版激光雷达上车

态度原创

艺术
亲子
旅游
时尚
房产

艺术要闻

故人西辞黄鹤楼,烟花三月下扬州

亲子要闻

看见“星星的孩子”,福田区第六幼儿园组织观影活动

旅游要闻

洛阳白马寺发布关于门票预约已满的提示

女人有没有品位看看穿搭就知道,这些造型值得借鉴,温柔高级

房产要闻

大反转!海口今年首宗重磅江景地块,拍卖突然终止!

无障碍浏览 进入关怀版