Relay 兼容性
这是 GraphQL 库版本 7 的文档。对于长期支持 (LTS) 版本 5,请参考GraphQL 库版本 5 LTS。 |
根据 Relay GraphQL 服务器规范规定,为了使服务器与 Relay 兼容,它必须提供
-
一种重新获取对象的机制。
-
关于如何通过连接进行分页的描述。
Neo4j GraphQL 库开箱即用地提供了关于如何通过连接进行分页的描述。然而,要使其提供重新获取对象的机制,则需要进行配置,本页将详细介绍这一点。
对象标识
为了使 Relay 客户端能够重新获取对象,每个类型都必须有一个可用于此目的的唯一对象标识符。然后,服务器通过使实现 Node
指令的类型来告知 Relay 客户端已满足此要求,该指令具有以下定义
interface Node {
id: ID!
}
例如,类型 Book
可能具有以下定义
type Book implements Node @node {
id: ID!
isbn: String!
}
有了它,Relay 客户端就能使用 node
查询字段重新获取 Book
对象。以下部分将深入探讨如何使用 Neo4j GraphQL 库来实现这一点。