创建新的子图
使用模板或现有 API 将子图添加到您的超级图
本文帮助您开始构建一个新子图,您可以将其添加到您的GraphOS超级图。
- 如果您从头开始构建新的GraphQL API,我们建议
从模板开始
创建新子图最快的方法是使用提供的模板之一。</span>
rover template
命令为您生成新的子图骨架,您可以直接开始定义模式并实现您的解析器。💡
如果你的 Rover 安装版本不包括
template
命令(或者你根本未安装 Rover),请安装最新版本。开始时,运行
rover template use
,并向其提供所选择模板的 ID。例如,以下命令创建了一个名为my-subgraph
的新目录,其中包含使用 Apollo Server 库编写的 代码模板:rover template use "my-subgraph" --template="subgraph-typescript-apollo-server"💡
要查看可用的模板完整列表,请参阅 Rover 模板文档
在生成模板代码后,你可以开始填充你的业务逻辑。生成的代码包括示例 resolvers,用于
Query
和Mutation
,以及一些 实体类型,作为你的起点。所有模板还包括示例 GitHub Actions 工作流程,以帮助你在 CI/CD 中 发布你的模式。当你准备好将你的新 subgraph 添加到你的 supergraph 中时,请参阅下文。
从头开始使用现有 API
如果你有一个想要用作 subgraph 的现有 GraphQL API,请确认它是否使用了一个 兼容 subgraph 的库。
- 如果支持,请查阅库的文档以确定如何启用其对 Apollo Federation 的支持。
- 如果不支持,提交一个issue以通知我们我们将与库的维护者合作添加支持。
添加到您的 supergraph
当您准备将新的 subgraph 添加到现有的 GraphOS supergraph 时,请执行以下操作:
- 在您的 subgraph 库中启用联合支持。
- 如果您 从模板构建,联合支持已经启用。否则,请查阅您选择的库的文档。
- 检查您的模式与现有的 supergraph 相符,并处理任何冲突。
- 设置您的 CI/CD 管道以执行检查,并发布子图模式。
在您第一次发布子图的模式后,GraphOS 将其识别为超级图的一部分,您就可以开始查询来自所有子图的数据了!
⚠️ 注意
请确保您 保护您的子图,以便只有 GraphOS才能 查询它。