【发布时间】:2018-06-10 14:30:16
【问题描述】:
问题:有没有办法模拟一些 GraphQL 类型/查询/突变/订阅,同时将其余部分“转发”到现有的 GraphQL 服务器?
情况:应用程序有一个架构,其中一部分已经在服务器上实现,其余的还有待开发。在前端工作有时会产生对我试图解决的后端团队的依赖。
目标设置:相关设置应将所有请求“转发”到现有的 GraphQL 服务器,但我想要模拟的请求除外。因此,对于已经在服务器上实现的部分(例如用户身份验证),使用实际的服务器,而对于尚未在服务器上实现的部分,我可以使用模拟响应。
我尝试过搜索,虽然我找到了创建模拟 GraphQL 服务器的方法,但我找不到这样的方法。
我愿意编写一些代码来实现这一点,但我是 GraphQL 的新手,我想先问这个问题会给我一些关于如何解决这个问题的有用指示。
Fwiw,前端使用 Apollo GraphQL(使用 React),后端使用 Absinthe(使用 Elixir/Phoenix)
【问题讨论】:
-
合并两个 GraphQL 服务器称为“模式拼接”。在你开始之前(剧透警告:这并不容易)看看graphql-faker。它可能涵盖 90% 的工作所需的 10% 的工作。除了拼接之外,您还可以尝试仅实现 GraphQL 接口并添加假解析器。在我们的服务器中,我们使用处理 JSON 数据的假模型来尽快将 一些 API 传递到前端。
-
@Herku 谢谢! graphql-faker 看起来很有帮助
标签: graphql apollo apollo-server absinthe