0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Knife4j 4.0正式发布

OSC开源社区 来源: OSC开源社区 作者: OSC开源社区 2022-12-20 23:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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发展的可持续性,整个架构重新梳理,后续可以根据不同的需求,提供不同的服务

b4ec7eb2-8068-11ed-8abf-dac502259ad0.png

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

统一版本

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

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

目前knife4j的项目结构:

模块名称 说明
knife4j-aggregation-spring-boot-starter 基于 Servlet 体系下的聚合中间件
knife4j-core 核心类,包含一些工具包、增强注解等
knife4j-dependencies Knife4j 提供的 dependencies 工程,引入该工程后,knife4jspringfoxswaggerspringdoc-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坐标如下:

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

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

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

<dependency>
<groupId>com.github.xiaoymingroupId>
<artifactId>knife4j-openapi3-spring-boot-starterartifactId>
<version>4.0.0version>
dependency>

支持Spring Boot 3

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

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

<dependency>
<groupId>com.github.xiaoymingroupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starterartifactId>
<version>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的数据源可以轻松放到配置中心中,实现文档的聚合

架构图如下:

b51c1848-8068-11ed-8abf-dac502259ad0.png

文档

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

b53cc5a2-8068-11ed-8abf-dac502259ad0.png

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


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    2147

    浏览量

    66219

原文标题:Knife4j 4.0正式发布,新征程!!!

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ADC34J4x 系列产品核心信息总结

    ADC34J4x 是一款高线性度、超低功耗、四通道、14 位、50 MSPS 至 160 MSPS 模数转换器 (ADC)。这些器件专为支持具有大动态范围要求的苛刻高输入频率信号而设计。时钟输入
    的头像 发表于 11-13 09:27 305次阅读
    ADC34<b class='flag-5'>J4</b>x 系列产品核心信息总结

    中科曙光助力紫东太初4.0大模型重磅发布

    近日,全球首个“深度推理+多模态”大模型——“紫东太初”4.0在2025东湖国际人工智能高峰论坛上正式发布。中科曙光作为核心生态伙伴,依托中国首个AI计算开放架构,为“紫东太初”4.0提供图文多模态模型训推、大语言模型训推等全链
    的头像 发表于 09-24 09:33 436次阅读

    【正点原子】新一代经济型工业级核心板RK3506J开发板及资料发布

    正点原子新一代经济型工业级核心板&amp;正点原子RK3506J开发板资料发布! 正点原子RK3506J工业级核心板基于国产瑞芯微RK3506J处理器,搭载四核强芯,3
    发表于 08-27 11:54

    带解码器的 0.02-4.0 GHz 高隔离 SP4T 吸收开关 skyworksinc

    电子发烧友网为你提供()带解码器的 0.02-4.0 GHz 高隔离 SP4T 吸收开关相关产品参数、数据手册,更有带解码器的 0.02-4.0 GHz 高隔离 SP4T 吸收开关的引
    发表于 08-08 18:33
    带解码器的 0.02-<b class='flag-5'>4.0</b> GHz 高隔离 SP<b class='flag-5'>4</b>T 吸收开关 skyworksinc

    Intel®赛扬J4105/J4125处理器嵌入式无风扇工控机

    处理器J4105/J4125:GeminiLakeRefresh架构,44线程(无超线程),主频1.5-2.5GHz(J4105)/1.5
    的头像 发表于 07-31 11:57 1672次阅读
    Intel®赛扬<b class='flag-5'>J</b>4105/<b class='flag-5'>J</b>4125处理器嵌入式无风扇工控机

    开源鸿蒙共建地图4.0重磅发布

    近日,在2025开放原子开源生态大会开源鸿蒙主题演讲活动上,《开源鸿蒙共建地图4.0》重磅发布,标志着开源鸿蒙在技术体系、系统能力和生态共建方面迈入全新阶段。活动现场,开放原子开源基金会秘书长助理兼
    的头像 发表于 07-28 17:45 665次阅读

    极简以太彩光网络解决方案4.0正式发布,“彩光”重构园区网络极简之道

    5月28日下午,锐捷网络在京举办以“光,本该如此‘简单’”为主题的发布会,正式发布极简以太彩光网络解决方案4.0。作为“彩光”方案的全新进化版本,极简以太彩光4.0从用户需求出发,聚焦
    的头像 发表于 05-30 12:14 423次阅读
    极简以太彩光网络解决方案<b class='flag-5'>4.0</b>正式<b class='flag-5'>发布</b>,“彩光”重构园区网络极简之道

    从3.0到4.0,华为ADS有哪些变化?

    一年一代的发布速度 [首发于智驾最前沿微信公众号]2025年4月22日,在上海举行的华为乾崑智能技术大会上,华为正式发布了乾崑智驾ADS 4.0。 图 ADS
    的头像 发表于 05-06 09:16 4922次阅读
    从3.0到<b class='flag-5'>4.0</b>,华为ADS有哪些变化?

    诚迈科技旗下智达诚远发布峰昇OS4.0,全面支持舱驾一体及多计算平台融合

    4月23日,上海车展正式开幕。诚迈科技旗下智能汽车操作系统及中间件解决方案提供商——智达诚远发布峰昇(FusionOS)4.0操作系统。作为面向未来的智能汽车数字软底盘,FusionOS4.0
    的头像 发表于 04-24 17:14 921次阅读
    诚迈科技旗下智达诚远<b class='flag-5'>发布</b>峰昇OS<b class='flag-5'>4.0</b>,全面支持舱驾一体及多计算平台融合

    全新STM32MP257开发板震撼发布!异核架构x接口丰富x边缘AI,助力ARM嵌入式工业4.0应用!

    全新STM32MP257开发板震撼发布!异核架构x接口丰富x边缘AI,助力ARM嵌入式工业4.0应用! ATK-DLMP257B开发板是正点原子基于STM32MP257DAK3处理器研发的一款
    发表于 04-12 12:04

    AIWA HS-J202/HS-J202M/HS-J800维修手册

    电子发烧友网站提供《AIWA HS-J202/HS-J202M/HS-J800维修手册.pdf》资料免费下载
    发表于 04-08 11:06 42次下载

    MHP和慕尼黑LMU发布《2025年工业4.0晴雨表》

    。同时,中国和美国正在进一步巩固其相对于DACH地区和英国的领先地位。这两点便是《2025工业4.0晴雨表》中的关键发现,该晴雨表由管理和IT咨询公司MHP与慕尼黑路德维希-马克西米利安大学(LMU)联合发布。其调查了来自中国、美国、德国、奥地利、瑞士和英国工业企业
    的头像 发表于 03-20 09:47 538次阅读
    MHP和慕尼黑LMU<b class='flag-5'>发布</b>《2025年工业<b class='flag-5'>4.0</b>晴雨表》

    VIAVI Xgig4K-PCIe-X4-FL飞行引导插入器适用于PCIE4.0在被测设备和VIAVI协议分析仪机箱箱之间提供数据信号连接

    VIAVI 16GTps PCIe 4.0 多模块分析器(PCIE4-X4-FL)适用于PCI Express 4.0在被测设备和VIAVI协议分析仪机箱之间提供数据信号连接
    的头像 发表于 03-19 16:22 740次阅读
    VIAVI Xgig<b class='flag-5'>4K-PCIe-X4</b>-FL飞行引导插入器适用于PCIE<b class='flag-5'>4.0</b>在被测设备和VIAVI协议分析仪机箱箱之间提供数据信号连接

    DeepSeek4J开源:高效解决DeepSeek R1集成挑战

    - deepseek4j。 一、为什么需要 deepseek4j? 1.1 现有框架的局限性 思维链内容丢失 :R1 最核心的推理过程完全被忽略 响应模式不兼容 :无法处理"思考在前、结论在后"的输出
    的头像 发表于 02-12 11:33 1609次阅读
    DeepSeek<b class='flag-5'>4J</b>开源:高效解决DeepSeek R1集成挑战

    ADC12J2700EVM和ADC12J1600EVM用户指南

    电子发烧友网站提供《ADC12J2700EVM和ADC12J1600EVM用户指南.pdf》资料免费下载
    发表于 12-10 14:59 0次下载
    ADC12<b class='flag-5'>J</b>2700EVM和ADC12<b class='flag-5'>J</b>1600EVM用户指南