Knife4j v4.1.0 发布,Gateway网关聚合更上一层楼
大家好,Knife4j v4.1.0版本发版,本次版本发版主要解决两个问题:
- 🐛常规Bug修复:主要针对v4.0版本的异常bug、ui兼容性问题修复
- 🎄Spring Cloud Gateway网关聚合组件升级:提供手动、服务发现两种模式,轻松聚合OpenAPI文档
主要更新
🐛常规bug修复
1、网关聚合组件knife4j-gateway-spring-boot-starter针对OpenAPI3规范聚合时丢失context-path的支持,在ui层面做兼容
2、springdoc-openapi版本升级到最新版本1.6.15、2.0.4 [Gitee#I6OIB1](https://gitee.com/xiaoym/knife4j/issues/I6OIB1)
3、knife4j-openapi3-jakarta-spring-boot-starter
模块属性配置在idea不提示的异常情况处理
4、增强属性自定义文档加载分组的bug处理[GitHub#PR525](https://github.com/xiaoymin/swagger-bootstrap-ui/pull/525)
5、knife4j-dependencies
模块漏掉部分依赖模块版本定义的情况
6、解决不添加 springdoc-openapi-ui 依赖异常的问题[Gitee#I66YJA](https://gitee.com/xiaoym/knife4j/issues/I66YJA)**
7、针对OAS3规范中Parameter属性缺失字段说明的异常情况修复
8、针对OAS3规范中扩展属性包括排序、作者等不生效的问题[Gitee#I6FB9I](https://gitee.com/xiaoym/knife4j/issues/I6FB9I)
9、部分字段翻译问题[GitHub#540](#540)
10、使用增强属性开启production
时出现的NPE异常[GitHub#527](#527)
11、针对OpenAPI3规范的tag名称兼容性问题[Gitee#I6JATP](https://gitee.com/xiaoym/knife4j/issues/I6JATP)
12、实体类接收url参数时文档不显示参数说明的问题[Gitee#I6H8CD](https://gitee.com/xiaoym/knife4j/issues/I6H8CD)
13、修复OAS3规范上传组件的识别问题[Gitee#I6HAW0](https://gitee.com/xiaoym/knife4j/issues/I6HAW0)、[[GitHub#538](https://github.com/xiaoymin/swagger-bootstrap-ui/issues/538)](https://github.com/xiaoymin/swagger-bootstrap-ui/issues/538)
14、SpringWebflux框架的集成组件starter封装[GitHub#521](#521)
15、针对Basic验证的特性增加include属性,允许开发者自定义配置[GitHub#530](#530)
16、全局搜索框支持tag名称的模糊搜索[Gitee#I6NWV6](https://gitee.com/xiaoym/knife4j/issues/I6NWV6)
🎄Spring Cloud Gateway网关聚合组件升级
在v4.1.0版本中,继续升级Spring Cloud Gateway网关聚合组件,提供discover
服务发现的模式,自动聚合OpenAPI文档。使用方式更加简单,一个Starter组件+yml配置,即可完成网关层的聚合。
1、引入starter依赖,maven坐标如下:
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-gateway-spring-boot-starter</artifactId>
<version>4.1.0</version>
</dependency>
2、基于discover
模式自动聚合注册中心的文档,则最简洁的配置如下:
更多场景case的使用,可以参考[knife4j-gateway-discussions](#547)
knife4j:
enable: true
# 指定服务发现的模式聚合微服务文档,并且是默认`default`分组
strategy: discover
discover:
enable: true
# 指定版本号(Swagger2|OpenAPI3)
version : openapi3
如此,我们的聚合工作就完成了。
在浏览器访问Knife4j提供的文档地址:http://ip:网关端口/doc.html
示例程序
正是由于 4.0 的文档还在输出中,因此 Knife4j 在 4.0 新版本中也提供了不同版本的示例程序
示例如下:
- Spring Boot 2.x + OpenAPI2 规范:[knife4j-spring-boot27-demo](https://gitee.com/xiaoym/swagger-bootstrap-ui-demo/tree/master/knife4j-spring-boot27-demo)
- Spring Boot 2.x +OpenAPI3 规范:[knife4j-springdoc-openapi-demo](https://gitee.com/xiaoym/swagger-bootstrap-ui-demo/tree/master/knife4j-springdoc-openapi-demo)
- Spring Boot 3+ OpenAPI3 规范:[knife4j-spring-boot3-demo](https://gitee.com/xiaoym/swagger-bootstrap-ui-demo/tree/master/knife4j-spring-boot3-demo)
- Spring Cloud Gateway网关聚合:[knife4j-openapi3-gateway](https://gitee.com/xiaoym/swagger-bootstrap-ui-demo/tree/master/knife4j-openapi3-gateway)
社区
感兴趣的朋友可以加群参与讨论贡献
关注公众号 "Knife4j",点击菜单获取加群二维码
仓库坐标
- Gitee:https://gitee.com/xiaoym/knife4j
- GitHub:[https://github.com/xiaoymin/knife4j](