大家好,Knife4j v4.2.0版本发版,本次版本发版主要解决问题:
更新日志
⛰️ 依赖升级
1、升级boot3版本为3.0.7、springdoc版本‣
2、springdoc版本升级,主要包括:
-
针对Spring Boot2版本的,升级springdoc版本到1.7.0
-
针对Spring Boot3版本的,springdoc版本到2.0.4
🏕️ 优化knife4j-gateway
组件
1、针对服务发现模式(discover
),可以动态读取服务转发路由配置前缀prefix,开发者可不用在独立配置,感谢当幸福碰错了头PR
2、支持除default
默认分组外的多分组类型,感谢谢进伟PR
3、针对在Dubbo场景下会出现聚合各个Service的场景,该版本提供自动排除服务的扩展SPI接口,开发者可集成自动扩展实现规则进行聚合服务的排除,参考Gitee#I6YLMB
@Slf4j @Component public class MyExcludeService implements GatewayServiceExcludeService { @Override public Set<String> exclude(Environment environment, Knife4jGatewayProperties properties, List<String> services) { log.info("自定义过滤器."); if (!CollectionUtils.isEmpty(services)){ // 排除注册中心包含order字眼的服务 return services.stream().filter(s -> s.contains("order")).collect(Collectors.toSet()); } return new TreeSet<>(); } }
4、解决在Nginx等二级代理转发情况下的路径错误问题Gitee#gitee、GitHub#609、[Gitee#I6KYUJ][https://gitee.com/xiaoym/knife4j/issues/I6KYUJ]、GitHub#603、GitHub#586
5、增加对子服务的排序规则设置,配置如下:
knife4j: gateway: tags-sorter: alpha # 接口排序规则 operations-sorter: alpha
不管是tag还是operation,排序规则主要提供两种实现方式:
-
alpha:官方swagger-ui的默认排序规则实现。
-
order:nife4j提供的增强排序规则,开发者可在子服务中扩展x-order,根据数值来自定义排序
6、knife4j-gateway组件增加basic验证GitHub#555
🏝️ Ui更新
1、Script脚本生成的TypeScript代码增加注释Gitee#I6T78E、GitHub#568
2、OAS2新增allof特性的支持Github#PR589
3、针对jakarta
环境中Basic的属性提示已经match优化GitHub#578
⛺ 增强部分
1、openapi3规范中增加对@ApiSupport
增强注解的支持Gitee#I79WIJ
2、Post发送请求query的方式修改Gitee#I7DNRP
3、优化基础jar包的引用关系,lombok、slf4j等jar包级别改为provided
GitHub#591
🤝 感谢
非常感谢以下开发者的PR贡献(排名不分先后):
-
当幸福碰错了头
-
谢进伟
-
最怕的、其实是孤单。。。
-
fengshi20102010
-
zskzskabcd
-
小魏,小魏,我们要去哪里呀
-
Pastors
-
King-Run
-
liuyd-cc
还没有评论,来说两句吧...