1

语境

今天我有一个简单的 GraphQL 拼接服务器,可以将两个 graphql 应用程序统一到一个 graphql 端点

原样

它可以内省每个服务(应用程序 1 和应用程序 2)并使用和ApolloLink为每个应用程序构建一个主机 url 。apollo-upload-clientapollo-link-http

在此处输入图像描述

mergeSchemas在此之后,我使用from graphql-toolslibray合并两个模式。

问题

现在我必须使用另一个等于应用程序 1 的服务,但它使用另一个数据库,因此使用另一个 url,但是当我使用不同的主机实例化应用程序 1 apollo-link 时,mergeSchemas 会忽略它,并且最终缝合的模式继续作为它的初始值状态。

如何使用具有不同 URL 的相同架构?

成为

我想使用不同的 url 缝合 2 个相似的模式 在此处输入图像描述

更新

我已经多次使用不同的 url 实例化模式,但这给了我重复的模式。whitch 解决了我的问题,但我认为有更好的解决方案可以保持相同的架构并通过标头切换主机,例如。

在此处输入图像描述

有没有更好的解决方案只保留 2 个模式?

4

0 回答 0