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