2m
概览
此支线任务引入了一些新的 GraphQL概念,你可以使用这些概念来设计更复杂的架构。它还展示了如何在现实世界的应用程序中使用这些工具的示例。
在此支线任务中,我们将介绍
- The
enum
类型 - The
input
类型 - The
interface
类型和 查询 片段s
先决条件
在完成此支线任务之前,你已经应该熟悉启航系列中的概念,包括:
- 使用 标量和 对象类型定义一个 GraphQL 架构
- 编写 GraphQL查询
- 使用 GraphOS Studio查询 查询本地运行 GraphQL 服务器
您还必须熟悉使用命令行在目录之间导航、运行命令以及使用基本 Git 操作。
推出 Airlock
在本侧任务中,我们将研究一个名为 Airlock的演示应用程序,这是一个帮助您浏览和预订星际旅行计划的网站。
使用 Airlock,宾客可以找到符合他们选择日期和所需床位数的房源。他们可以了解每处房源的概况和提供的便利设施,如果他们感兴趣,可以一键预订住宿(当然,前提是他们的钱包中有足够的太空积分)!
房东还可以通过 Airlock 出租自己的太空套房!他们可以通过所有必要信息将房源添加到平台,并管理他们的预订。在每次住宿结束后,宾客和房东可以互相留下诚实的评级和评论。
在本侧任务中,我们将介绍 Airlock 如何使用前面列出的每个新 GraphQL概念。我们从设置 Airlock 代码库开始。
设置 Airlock 代码库
要开始使用 Airlock,可以通过打开一个新的终端窗口并运行以下命令来下载代码库
git clone https://github.com/apollographql-education/side-quest-intermediate-schema-design
后端服务器
Airlock 后端的代码位于 server
目录中。其中包括 GraphQL 服务器以及用于应用程序各种后端服务的 REST API 和数据库的组合(在 server/services
目录中找到)。
- 开始 GraphQL 服务器,打开一个新终端窗口并运行以下命令:
cd servernpm installnpm start
- 要启动 Airlock 用于获取数据的后端服务,请打开另一个新终端窗口并运行以下命令
cd servernpm run launch
- 一旦你开始了 GraphQL 服务器和后端服务,你应该可以通过打开 查询在
https://127.0.0.1:4000
的 Airlock 后端 GraphOS Studio Sandbox。
任务!
前端客户端
Airlock 的前端代码可以在 client
目录中找到。
- 要启动前端客户端,请打开另一个新终端窗口,并运行以下命令
cd clientnpm installnpm start
- 你可以在浏览器中通过 https://127.0.0.1:3000 访问 Airlock 网站。
任务!
下一步
既然你已在电脑上启动并运行 Airlock,是开始的时候了!在下一课中,我们将更仔细地了解我们的第一个新 GraphQL 概念:enum
类型。