领先一步
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"
媒体类型时,我们将保留以前的行为。
此更改是通过 HTTP 响应状态,更好地理解生产中平台和工具之间的 GraphQL 交换的一个步骤。 这并不能取代对专用 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 支持。 我们现在支持 DataLoader
为 @EntityMapping
方法提供的参数; 这是从 GraphQL Java Kickstart 迁移到我们堆栈的开发者所要求的。
此外,我们的模式检查功能现在可以检测并报告任何 @EntityMapping
方法未涵盖的联合实体。 这使您确信您的整个模式已由应用程序实现。
请通过 https://repo.spring.io/milestone 尝试使用 1.4 M1 版本,并在我们的 问题跟踪器 上向我们提供反馈! 现在是我们提出改进建议的时候,因为我们的目标是在 5 月与 Spring Boot 3.5.0 一起发布正式版本。