GraphQL: предоставление большего контекста для преобразователя из разрешенного сшитого запроса

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

Кто-нибудь знает, как в основном разрешить некоторые значения из другой службы, прежде чем приступить к запросу? Эти значения не должны быть открыты, а отправлены в службу как аргументы или какой-то контекст.

Подводя итоги:

Прошивка Открытая служба из Сервис 1 и Сервис 2.

Сервис 1 требует свойства от Сервис 2, но не могу общаться напрямую.

Путь от Открытая служба для разрешения от Сервис 2 и инъекции в Сервис 1.

Спасибо.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Что такое Apollo Client и зачем он нужен?
Что такое Apollo Client и зачем он нужен?
Apollo Client - это полнофункциональный клиент GraphQL для JavaScript-приложений, который упрощает получение, управление и обновление данных в...
0
0
57
1

Ответы 1

Если вы не используете одинаковые типы в обеих своих службах, вы можете попробовать:

https://github.com/aeb-labs/graphql-weaver

Позволит ли это мне разрешить что-то из одной службы и отправить это в качестве контекста / аргумента в другую службу?

Jorge Lima 13.06.2018 09:21

Если вы хотите использовать graphQL из службы 1 и отправить результат в службу 2, это то, что вы можете обработать в своем преобразователе реализации службы 1, вызвав службу 2 с помощью клиента GraphQL, такого как apollo-link github.com/apollographql/apollo-link

Vizari 13.06.2018 17:05

Но в этом-то и проблема, я хочу избежать прямого общения между сервисами.

Jorge Lima 14.06.2018 16:42

Другие вопросы по теме