领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我很高兴地宣布,Spring for GraphQL 1.2 的发布候选版本现已通过 https://repo.spring.io/milestone 提供。
M1 版本提供了分页和排序的抽象和基础设施,包括对带注解的控制器方法上的输入和输出类型的支持,最大限度地减少了应用程序支持分页查询所需的工作。
当前的发布候选版本通过将分页支持扩展到我们的 Querydsl 和 Query By Example DataFetcher 实现来完善此功能,两者现在都公开了一个 scrollable 工厂方法。
此外,Querydsl 和 Query By Example 存储库的自动注册已扩展到适用于返回 Connection 类型的查询。
M1 版本提供了一个非常重要的Schema 映射检查功能,它检查所有 Schema 字段是否由 DataFetcher 注册覆盖,或者是否具有匹配的 Java 对象属性。
在当前的发布候选版本中,此功能已进一步扩展,以识别返回 Connection 类型的分页查询,并在 Schema 类型上的 EdgeNode 类型中以及 Java 类型的泛型参数中正确嵌套,以便正确比较内部结构。
Schema 映射检查也已更新,以支持 Schema 接口,并报告因 Java 类型信息不足而未检查的任何类型,例如在控制器方法返回类型中声明为 java.lang.Object 的 Schema union 类型。
如果您还没有尝试过此功能,请务必尝试并向我们提供反馈。
对于只有一个参数是 GraphQL 输入类型的查询,Querydsl 和 Query By Example 使用起来有些笨拙,需要一个人工包装器类型来包含单一参数,而实际数据则嵌套在该参数的 GraphQL 输入类型结构中。
在当前的发布候选版本中,Querydsl 和 Query By Example 存储库不再需要这种包装器类型,它们现在可以直接绑定到反映 GraphQL 输入类型的对象。
Spring for GraphQL 参数绑定已经支持通过构造函数和属性初始化绑定到更高层次的目标对象,包括任何嵌套级别的对象结构。然而,有时属性名称可能遵循不同的约定,或者您可能不拥有这些对象,无法更改它们。
在当前的发布候选版本中,我们添加了一个选项,允许回退到直接字段访问,这在这种情况下可能会有所帮助。
我们的下一站是 5 月 17 日的 GA 版本发布,随后是精彩的 Spring I/O 大会,届时 Brian 和我将展示 Observing Spring for GraphQL In Action。如果您将参加大会,请务必过来打个招呼。我们很乐意与您交流!