创建Parse 3.10及以上版本与Relay的兼容性指南
Parse Server GraphQL API 遵循当前可用于高度可扩展 API 和雄心勃勃的前端项目的最新标准。
Parse 开源团队选择遵循 GraphQL 服务器 中继 规范。
中继是一个用于构建数据驱动的 React 应用程序的 JavaScript 框架,基于 GraphQL,旨在从头开始易于使用、可扩展,最重要的是,性能优越。中继通过静态查询和提前生成代码来实现这一点。
从 Parse 3.10 开始,完全兼容 中继 已实现。 本文档将引导您了解这些实现。
要开始本教程,您需要:
- 在 Back4App 创建的应用程序
首先,您需要确保在 Back4App 上创建了一个现有的应用程序。如果您是新用户,可以查看 本教程 以了解如何创建一个。
在您新创建的应用程序中,转到 数据库浏览器 并点击 创建一个类 按钮

选择创建一个 自定义 类并给它命名。 根据 Relay 示例架构, 我创建了类 Faction、Ship 和其他类,具有匹配的属性,但您可以创建自己的类以遵循此文档。只需相应地更改您的查询和变更。 请记住,按照约定,类名以大写字母开头,采用驼峰命名法,并且不包含空格和符号等特殊字符。 完成后点击 创建类。
创建了您的类和属性后,您可以前往 API 控制台 然后 GraphQL 控制台 来执行您的查询和变更.

我们第一个查询将根据其 objectId 来检索一个对象(不要与 id 混淆)。 Parse 已经发展,现在查询支持 ObjectId, 以前称为 id 在以前的版本中,但现在也支持 Global Id, 被称为 id,它指的是 Relay 的全局 ID,并且格式更长,因为它包含加密的类名.
的示例 ObjectId: EaT0dDk09v 的示例 id(即全局 id): RmFjdGlvbjpFYVQwZERrMDl2
让我们进行第一个查询,通过其 ObjectId 来检索一个对象:
这将输出
现在,让我们将其更改为Relay的GlobalId:
请注意,结果将是相同的:
这发生是因为 全局 ID 的工作,如其名称所示,是全局的,并且其类名被加密在其中,因此 Parse 知道在哪里搜索该 ID。
同样使用 全局 ID 你可以像 Relay 的规范 如下预取:
这将导致
Relay的连接 在Parse中与GraphQL的工作方式相同,因此,如果您需要检索反抗军的飞船:
这将导致:
您还可以检索第N艘飞船:
导致
或者在特定船只之后检索第 N 艘船,使用其游标值:
这将检索:
我们还可以使用与 Relay 的变更. 让我们创建一个新的 船:
这需要以下查询变量:
并将返回 全局ID 和 名称 如变更中所指定: