将 GraphQL 迁移到 WunderGraph
在此页面上
重要
请务必参阅MongoDB Atlas和 WunderGraph 的官方文档 以获取最新、最准确的信息。具体步骤可能会有所不同,具体取决于项目的详细信息和所使用的技术。
WunderGraph 是一个综合性的开发者平台,配备了种类繁多的开源工具和 SDK。
这些工具之一是 前端后端 (BFF) 框架 。此 BFF 框架是一个强大且符合规范的服务器框架,您可以将其添加到生产环境中。 该框架可以集成任何来源的数据。 这包括来自 MongoDB Atlas 的数据。 有关更多详细信息,请参阅 的 WunderGraphDocs 页面Atlas 。如果您计划使用 GraphQL Federation,请查看 WunderGraph Cosmo。
迁移到 WunderGraph
WunderGraph BFF 是一个开源网关,可捆绑您的数据并为前端框架生成类型安全的客户端。 您还可以使用钩子添加其他业务逻辑或 自定义 GraphQL 解析程序 将客户端与数据库解耦。
以下概述了如何将 GraphQL 主机从 Atlas App Services 迁移到 WunderGraph。 具体步骤可能会有所不同,具体取决于项目的详细信息和所使用的技术。
如果您是从头开始,请遵循 MongoDB / Atlas 数据源文档 。有关更多详细信息,请参阅 的 WunderGraphDocs Atlas页面。
如果您计划使用 GraphQL Federation,请查看 WunderGraph Cosmo
使用 GraphiQL 用户界面浏览数据
在 WunderGraph 服务器运行并添加查询操作后,您可以使用 GraphQL 用户界面通过 GraphQL API 探索 Atlas 数据。 当应用程序处于开发阶段时,这非常有用。 对于生产环境中的应用程序,我们建议使用 WunderGraph 的 JSON-RPC 接口(请参阅下一步)。
在 WunderGraph 服务器运行时,导航到
http://localhost:9991/graphql
。将这些查询添加到 GraphiQL 用户界面:
query Users { db_findManyusers { id name email } } 单击“播放”按钮。
使用 WunderGraph 的 JSON-RPC 接口进行生产
GraphiQL 有利于开发,但在生产中,您应该考虑使用 WunderGraph 的 JSON-RPC 接口与 Atlas 数据进行交互。
简而言之,WunderGraph 将您的 GraphQL 操作编译为您可以调用的 JSON-RPC 端点。
运行wunderctl up
后,WunderGraph 会检查.wundergraph/operations
目录中是否有*.graphql
文件并进行处理。 为此,每个文件应包含一个 GraphQL 操作。
每个文件都将被编译到一个 JSON-RPC 端点中。 端点的名称由文件名确定。
以下是 JSON-RPC API 查询示例:
curl http://localhost:9991/operations/Users
后续步骤
WunderGraph Cosmo for GraphQL Federation
查看 WunderGraph CosmoDocs 了解如何构建分布式GraphQL 架构,该架构结合多个GraphQL API 来创建统一的图形。
Cosmo 使团队和组织能够轻松管理和扩展(联合)GraphQL 架构。 通过组合检查快速迭代,而不会破坏任何内容。
WunderGraph Cosmo 可以作为托管服务在本地、本地或云中轻松运行。 Cosmo 是一款含电池的解决方案,涵盖了整个平台从路由到分析的所有功能。
Cosmo 支持整体式 GraphQL API 以及 Federation v 1和 v 2包括订阅)。