Advanced Guides

创建Parse 3.10及以上版本与Relay的兼容性指南

14min

中继兼容性

介绍

Parse Server GraphQL API 遵循当前可用于高度可扩展 API 和雄心勃勃的前端项目的最新标准。

Parse 开源团队选择遵循 GraphQL 服务器 中继 规范。

中继是一个用于构建数据驱动的 React 应用程序的 JavaScript 框架,基于 GraphQL,旨在从头开始易于使用、可扩展,最重要的是,性能优越。中继通过静态查询和提前生成代码来实现这一点。

从 Parse 3.10 开始,完全兼容 中继 已实现。 本文档将引导您了解这些实现。

先决条件

要开始本教程,您需要:

1 - 创建一个新的 Back4App 应用程序

首先,您需要确保在 Back4App 上创建了一个现有的应用程序。如果您是新用户,可以查看 本教程 以了解如何创建一个。

2 - 创建几个类

在您新创建的应用程序中,转到 数据库浏览器 并点击 创建一个类 按钮

Document image


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

3 - GraphQL 控制台

创建了您的类和属性后,您可以前往 API 控制台 然后 GraphQL 控制台 来执行您的查询和变更.

Document image


4 - 查询

我们第一个查询将根据其 objectId 来检索一个对象(不要与 id 混淆)。 Parse 已经发展,现在查询支持 ObjectId, 以前称为 id 在以前的版本中,但现在也支持 Global Id, 被称为 id,它指的是 Relay 的全局 ID,并且格式更长,因为它包含加密的类名.

的示例 ObjectId: EaT0dDk09v 的示例 id(即全局 id): RmFjdGlvbjpFYVQwZERrMDl2

让我们进行第一个查询,通过其 ObjectId 来检索一个对象:

GraphQL


这将输出

GraphQL


现在,让我们将其更改为Relay的GlobalId:

GraphQL


请注意,结果将是相同的:

GraphQL


这发生是因为 全局 ID 的工作,如其名称所示,是全局的,并且其类名被加密在其中,因此 Parse 知道在哪里搜索该 ID。

5 - 重新获取

同样使用 全局 ID 你可以像 Relay 的规范 如下预取:

GraphQL


这将导致

GraphQL


6 - 连接

Relay的连接 在Parse中与GraphQL的工作方式相同,因此,如果您需要检索反抗军的飞船:

GraphQL


这将导致:

GraphQL


您还可以检索第N艘飞船:

GraphQL


导致

GraphQL


或者在特定船只之后检索第 N 艘船,使用其游标值:

GraphQL


这将检索:

GraphQL


7 - 变更

我们还可以使用与 Relay 的变更. 让我们创建一个新的 :

GraphQL


这需要以下查询变量:

GraphQL


并将返回 全局ID名称 如变更中所指定:

GraphQL