领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我很高兴地宣布 Spring for GraphQL 1.2 的候选版本现已通过 https://repo.spring.io/milestone 提供。
M1 版本 为 分页和排序 提供了抽象和基础设施,包括对 注解控制器方法 上输入和输出类型的支持,从而最大限度地减少了应用程序为支持分页查询所需做的工作。
当前的候选版本通过将分页支持扩展到我们的 Querydsl 和 Query By Example DataFetcher
实现来完成此操作,这两种实现现在都公开了一个 scrollable
工厂方法。
此外,Querydsl 和 Query by Example 存储库的自动注册已扩展为适用于返回 Connection 类型 的查询。
M1 版本提供了一个非常重要的 架构映射检查 功能,该功能检查是否所有架构字段都由 DataFetcher
注册覆盖,或者是否具有匹配的 Java 对象属性。
在当前的候选版本中,此功能已进一步扩展,以识别返回 Connection 类型 的分页查询,并在架构类型上正确嵌套在其 EdgeNode
类型中,以及在 Java 类型的泛型参数中,以便正确比较其中的结构。
架构映射检查也已更新为支持架构接口,并报告由于 Java 类型信息不足而未检查的任何类型,例如,将在控制器方法返回类型中声明为 java.lang.Object
的架构 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。如果您要参加会议,请过来打个招呼。我们很乐意与您交谈!