Spring for GraphQL 1.3 RC1 发布

发布 | Rossen Stoyanchev | 2024 年 4 月 16 日 | ...

我代表 Spring for GraphQL 团队,很高兴宣布 1.3 RC1 版本发布。本文将介绍此版本。有关 1.3 中其他即将推出的功能的更多信息,请参阅1.3 M1 博客文章

GraphQL Java 22

1.3 候选发布版本基于今天早些时候发布的 GraphQL Java 22 构建。GraphQL Java 22 包含许多新功能,包括显著的性能改进,对即将加入 GraphQL 规范的 Defer 和 Stream 指令 的实验性支持,以及更多。

此版本也包含重大变更,现在是时候在您的环境中进行实验了。有关更多详细信息,请参阅GraphQL Java 22 发布页面

模式检查

启动时的模式检查报告已证明是一项受欢迎的功能。然而,由于它依赖于控制器方法签名来匹配模式与 Java 类型,因此它无法完全检查模式接口和联合类型,因为在这种情况下,控制器方法的返回类型无法提供关于运行时实际类型的足够信息。

1.3 候选发布版本增加了对检查接口和联合的支持,根据具体的命名约定,可以透明地发现对应于接口实现类型和联合成员类型的 Java 类型。如有必要,可以自定义选项来辅助检查。

模式检查也已增强,可以检测并报告 `@Argument` 控制器方法参数与模式中声明的字段参数之间的不匹配。

模式接口映射

如果您使用模式接口,您可能会遇到需要为每个实现对象重复映射同一字段的情况。

1.3 候选发布版本增加了对映射到模式接口字段的支持,除非重复注册已存在,否则会透明地进行注册。这适用于 @SchemaMapping@BatchMapping 方法。

使用 @EntityMapping 的批量加载

1.3 M1 添加了联邦支持,可以通过 @EntityMapping 注解的控制器方法加载联邦实体。感谢早期反馈,我们增强了批量模式,@EntityMapping 方法可以返回给定类型的所有实体。请参阅文档中更新的联邦部分

WebSocket 心跳机制

WebSocket 传输现在支持在没有其他消息发送时定期发送心跳 PING 消息。在服务器端,这通过 Spring Boot 属性 spring.graphql.websocket.keep-alive 启用。在客户端,这通过客户端构建器启用。

GraphQL 与其他端点的 Jackson Codec

现在可以为 GraphQL 端点配置一个与 HTTP 和 Web 端点使用的 Jackson codec 不同的 codec。这对于按需渲染 GraphQL 响应(例如带有 null 值)而不会对常规 HTTP 端点产生副作用非常重要。

有关所有更改的列表,请参阅v1.3.0-RC1 发布页面

Netflix DGS

我们将继续与 DGS 团队紧密合作,进行集成,为这两个框架提供一个共同的基础。DGS 团队现已提供通用集成的可用版本,并规划了路线图。

请参阅公告博客文章,Josh 与 Paul Bakker 和 Kavitha Srinivasan 的Bootiful 播客也值得观看。

总结

接下来是 5 月 21 日的 GA 版本发布。一如既往,您的反馈至关重要,我们非常感谢!请试用此版本,并告诉我们它的工作情况。

GA 版本发布一周后,即 5 月 30-31 日,是 2024 年度的 Spring I/O 大会,届时我们将有一个关于 GraphQL Java 22 和 Spring for GraphQL 1.3 的专属会议。我期待与计划参加会议的人见面。门票所剩不多了!

获取 Spring 新闻快讯

订阅 Spring 新闻快讯,保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获取支持

Tanzu Spring 通过简单的订阅提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看全部