领先一步
VMware 提供培训和认证,助您加速进步。
了解更多代表 Spring for GraphQL 团队,我很高兴地宣布我们的第一个 1.4 里程碑版本可用。
GraphQL over HTTP 草案规范 正在取得良好进展,因此我们决定在 1.4 版本中对其进行全面对齐。Spring for GraphQL 的先前版本已经支持官方的 "application/graphql-response+json",并且它已经成为我们默认的响应媒体类型一段时间了。
通常,当服务器不可用、安全凭证丢失或请求体不是有效的 JSON 时,GraphQL HTTP 客户端应期望 4xx/5xx HTTP 响应。与此新规范的剩余差距在于 GraphQL 引擎完全失败时的 HTTP 响应状态行为。最近的更改意味着,如果客户端发送的 GraphQL 文档无法解析或被 GraphQL 引擎视为无效,"application/graphql-response+json" 响应也将使用 4xx 状态。当我们保留客户请求 "application/json" 媒体类型时的先前行为。
此更改是朝着使平台和工具在生产环境中更好地理解 GraphQL 交互迈出的一步,即使用 HTTP 响应状态。这并不能取代对专用 GraphQL 指标和跟踪的需求。Spring for GraphQL 已经 拥有出色的可观测性支持,并计划很快通过 DataLoader 仪器 来扩展它。
除了支持 GraphQL over HTTP 规范外,我们还将继续改进我们的传输支持。这个新的里程碑版本为基于 Servlet 的应用程序带来了性能改进,支持 Server Sent Events 上的订阅的 keep-alive,以及通过 新的 WebGraphQlInterceptor 提供全局 HTTP 超时支持。
Spring for GraphQL 升级到 Apollo GraphQL Federation 5.3.0 并改进了我们的 Federation 支持。我们现在支持 @EntityMapping 方法的 DataLoader 参数;这是由从 GraphQL Java Kickstart 迁移到我们堆栈的开发者请求的。
此外,我们的模式检查功能现在可以检测并报告未被任何 @EntityMapping 方法覆盖的 federated 实体。这让您可以确信您的整个模式都由应用程序实现。
请通过 https://repo.spring.io/milestone 试用 1.4 M1 版本,并在我们的 问题跟踪器 上向我们提供反馈!现在是提出改进建议的时候了,因为我们的目标是在 5 月份与 Spring Boot 3.5.0 一起发布官方版本。