领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我代表 Spring for GraphQL 团队,很高兴宣布 1.3 RC1 版本发布。本文将介绍此版本。有关 1.3 中其他即将推出的功能的更多信息,请参阅1.3 M1 博客文章。
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 传输现在支持在没有其他消息发送时定期发送心跳 PING 消息。在服务器端,这通过 Spring Boot 属性 spring.graphql.websocket.keep-alive
启用。在客户端,这通过客户端构建器启用。
现在可以为 GraphQL 端点配置一个与 HTTP 和 Web 端点使用的 Jackson codec 不同的 codec。这对于按需渲染 GraphQL 响应(例如带有 null
值)而不会对常规 HTTP 端点产生副作用非常重要。
有关所有更改的列表,请参阅v1.3.0-RC1 发布页面。
我们将继续与 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 的专属会议。我期待与计划参加会议的人见面。门票所剩不多了!