跳到主要内容

升级到v2.x版本

在更名为Knife4j之前,原来的名称是叫swagger-bootstrap-ui,这是两种不一样风格的Ui,对比情况如下:

软件开发语言&框架状态最后版本风格
Knife4jJava、JavaScript、Vue持续更新中黑色
swagger-bootstrap-uiJava、JavaScript、jQuery停更1.9.6蓝色

Knife4j从开源至今,目前主要经历版本的变化,分别如下:

版本说明
1.9.6蓝色皮肤风格,开始更名,增加更多后端模块
2.0~2.0.5Ui重写,底层依赖的springfox框架版本是2.9.2
2.0.6~底层springfox框架版本升级知2.10.5,OpenAPI规范是v2
3.0~底层依赖springfox框架版本升级至3.0.3,OpenAPI规范是v3

需要注意的是,目前Knife4j的主版本依然是沿用2.x的版本号,也就是从2.0.6版本开始逐步升级,迭代发布时版本会随之升级,但同时3.x版本也会同步更新发布,主要是满足开发者对于springfox3以及OpenAPI3规范的使用

特别注意

1、目前已经发行的Knife4j版本,Knife4j本身已经引入了springfox,开发者在使用时不用再单独引入Springfox的具体版本,否额会导致版本冲突。另外在网关层聚合(例如gateway)时,必须禁用Knife4j的增强模式

2、使用Knife4j2.0.6及以上的版本,Spring Boot的版本必须大于等于2.2.x

自2.0.6版本开始,2.x与3.x的版本主要变化是底层springfox所引用的版本不同,但Knife4j提供的Ui其实是同一个,同时兼容OpenAPI2以及OpenAPI3规范,源码请参考knife4j-vue,如果开发者依然想沿用以前Knife4j一直以来发布的2.x版本,请继续更随Knife4j的更新步伐使用2.x的版本即可,如果开发者想尝鲜,则可以考虑3.x的版本

提示

3.x的版本依赖springfox3.0.0,springfox3.0目前也只更新发布了一个版本,从功能稳定性来说,可能不如2.x系列,所以开发者慎重使用,当然,如果是Ui上的一些功能性问题或者Bug,也欢迎开发者向Knife4j发起ISSUE,等springfox3版本趋于稳定后,knife4j的2.x版本就不会在更新,会并向3.x

具体的对应关系如下:

2.x版本3.x版本
2.0.63.0
2.0.73.0.1
2.0.83.0.2
以此类推...以此类推...

如果开发者底层框架使用的是springdoc-openapi框架而非springfox,则需要使用Knife4j提供的对应3.x版本,需要注意的是该版本没有Knife4j提供的部分增强功能,是一个纯Ui。

<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-springdoc-ui</artifactId>
<!--在引用时请在maven中央仓库搜索3.X最新版本号-->
<version>3.0.2</version>
</dependency>

每一个版本的更详细的更新日志,开发者可参考更新日志