MyGit

v4.2.0

xiaoymin/knife4j

版本发布时间: 2023-08-01 08:58:52

xiaoymin/knife4j最新发布版本:v4.5.0(2024-01-08 10:55:31)

大家好,Knife4j v4.2.0版本发版,本次版本发版主要解决问题:

更新日志

依赖升级

1、升级boot3版本为3.0.7、springdoc版本‣

2、springdoc版本升级,主要包括:

优化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#giteeGitHub#609、[Gitee#I6KYUJ][https://gitee.com/xiaoym/knife4j/issues/I6KYUJ]、GitHub#603GitHub#586

5、增加对子服务的排序规则设置,配置如下:

knife4j:
	gateway:
	      tags-sorter: alpha # 接口排序规则
              operations-sorter: alpha

不管是tag还是operation,排序规则主要提供两种实现方式:

6、knife4j-gateway组件增加basic验证GitHub#555

Ui更新

1、Script脚本生成的TypeScript代码增加注释Gitee#I6T78EGitHub#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包级别改为providedGitHub#591

感谢

非常感谢以下开发者的PR贡献(排名不分先后):

相关地址:原始地址 下载(tar) 下载(zip)

查看:2023-08-01发行的版本