1. 扩展我们的超级图
6m

概述

你已经开始了您的之旅吗?

您可能从简单的起点开始:一个单一的 和一个 。您享受过查询您所需的确切内容、获取您所请求的数据形状,甚至延迟较慢查询部分的感觉。您已经对模式进行了一些小的更改,根据用户反馈更好地满足其需求。

现在,您已经准备好扩展您的 并在此基础上构建超级图所知名的分模块架构。

欢迎您,您来到了完美的教程!

在本课程中,我们将扩展我们的 。我们将添加另一个 ,并学习 如何创建和使用查询计划来 Resolve一个跨越多个子图的查询。我们还将通过使用 rover dev 命令进行本地开发。沿途,我们将探索更多 功能,这些功能可以帮助我们构建、维护和管理我们的

这是关于 的本系列入门课程的第三门课程。如果您已经熟悉这些材料,无需参加该系列中的其他课程。查看以下学习者的先决条件,以评估您是否适合这门课程。

学习者的先决条件

您需要具备以下条件:

  • 如果您想跟随课程项目,则需要GitHub账户和代码编辑器(我们使用VS Code)。
  • 一个Apollo账户。如果没有,可以 在这里注册

您需要知道以下内容:

  • 基础(使用模式、编写
  • 架构基础(什么是 以及它们是如何协同工作的)
  • 终端使用(导航目录、运行命令)
  • Git基础(提交更改、推送到远程仓库)

我们将使用JavaScript来修改我们的 服务器,但您不需要对课程项目有深入的了解。

诗意的盘子超级图

Poetic Plates API title

诗意的盘子 🍽️ 是为冒险的厨师和美食爱好者提供的GraphQL API!目前,它提供由AI生成的具有诗意说明和美味(或灾难性的)结果的食谱。这些说明非常详细,有时也很有帮助,烹饪从未如此有趣!

GraphOS:基础知识 中,我们将诗意的盘子API转换成了一个 架构。

Diagram of a supergraph architecture for Poetic Plates. The router points to a subgraph server labeled recipes.

一个超级图是一种模块化架构,由一个和一个或多个组成。诗意的盘子目前有一个名为recipes的子图。它还使用云端托管的

目前,海纳百川可以帮助我们做诸如以下事情:

  • 要求它提供随机配方
  • 要求它提供其数据库中所有配方的完整列表
  • 要求它提供最近添加的配方
  • 查看配方中的食材、烹饪时间、说明等更多内容

在本课程中,我们将向添加新功能。具体来说,我们正在添加有关厨房用品的信息:将食谱带入生命所需的锅、平底锅和厨房工具。我们有一些关于每件厨房设备外观的有趣信息(对烹饪新手来说),以及如何正确清洁它们。当然,所有这些信息将以诗意风格呈现 ✍️

我们非常期待更多地了解这个厨房用品空间,以及如何将其添加到我们的!现在就让我们完成项目设置,这样我们就可以深入学习了!

项目设置

如果您已在2023年5月24日之后完成了GraphOS:基础知识GraphOS:安全API交付,您已经准备好!您可以跳过本节,直接跳到课程末尾进行检查。

如果您在2023年5月24日之前完成了课程,您需要更新recipes子图以包含新数据。展开下面的可折叠部分以找到您的附加说明。然后,跳到课程末尾进行检查。

如果您尚未完成任一课程,本节的其余部分将简要介绍快速入门。您需要

  • 部署 recipes 子图
  • 克隆 recipes 子图
  • 在GraphOS上创建一个云
  • 安装和认证

部署 recipes 子图

开始,请点击下面的按钮 ⬇️

Deploy on Railway

然后,按照Railway上的部署设置步骤操作。随意使用您选择的任何其他托管平台!

现在,您应该有一个URL,您的 recipes 子图服务器就在那里。

克隆存储库

下一步,我们将克隆 recipes 的副本到我们自己的机器上。这应该连接到部署的 URL,以便你对你仓库的 main 分支所做的任何提交都会反映在部署中。

如果你使用的是 Railway,这将由系统为你处理。如果你使用的是你选择的其它平台,你可能需要执行一些额外的步骤。

创建云超级图

你需要在 上创建一个云 。你之前克隆和部署的 recipes 子图将作为 的第一个子图。

安装和认证Rover

是Apollo的命令行界面(CLI)工具,帮助开发人员与和与交互。这是一个方便多功能的工具,可用于本地开发和CI/CD。我们可以用它来运行检查,将模式发布到模式注册表,等等。

项目设置清单

你需要所有这些吗?

关键要点

  • 超图架构由一个或多个和一个组成。
  • 是Apollo的命令行界面(CLI)工具,它帮助开发者与和与交互。

接下来

准备好用一个新的子图让我们的supergraph焕发出新的活力吗?让我们开始吧! 🥘

下一页

分享你对本课程的疑问和评论

本课程目前处于

beta
.您的反馈可以帮助我们改进!如果您遇到困难或疑惑,请告诉我们,我们将尽力帮助您。所有评论都是公开的,并且必须遵守 Apollo法规准则。请注意,已解决的或已处理的评论可能会被删除。

您需要GitHub账户来发表评论。没有吗? 请在我们的Odyssey论坛上发帖。