Используйте одну и ту же схему GraphQL, используя разные конечные точки, используя Apollo - PullRequest
0 голосов
/ 13 декабря 2018

Контекст

Сегодня у меня есть простой сервер сшивания GraphQL, который объединяет два приложения graphql в одну конечную точку graphql

КАК ЕСТЬ

Он работает с внутренним анализом каждой службы (приложение 1 и приложение 2) и создает ApolloLink, присваивая URL-адрес узла каждому приложению с помощью apollo-upload-client и apollo-link-http.

enter image description here

После этого я объединяю обе схемы, используя mergeSchemas из graphql-tools libray.

Проблема

Теперь мне нужно использовать другой сервис, который соответствует приложению 1, но использует другую базу данных, следовательно, другой URL, но когда я создаю экземпляр app 1 apollo-link с использованием другого хоста, mergeSchemas игнорирует его, и окончательная сшитая схема продолжается в исходном состоянии.

Как использовать одну и ту же схему с разными URL-адресами?

TO BE

Я хочу сшить 2 одинаковые схемы, используя разные ссылки enter image description here

ОБНОВЛЕНИЕ

Я создавал схемы несколько раз, используя разные URL для каждого, но это дало мне повторяющиеся схемы.whitch решает мою проблему, но я думаю, что есть лучшие решения для использования с той же схемой и переключения хостов с помощью заголовка, например.

enter image description here

IsЕсть ли лучшее решение, чтобы сохранить только с 2 схемами?

...