Как подграф graphql может перенаправить запрос другому подграфу
В подграфе, принадлежащем другой команде, есть API-интерфейс graphql.
type Query {
user: UserInfo
}
Наша команда хочет создать новый API-интерфейс graphql в нашем подграфе, который возвращает тот же тип данных, что и прокси.
type Query {
specialUser(encryptedUserId: ID): UserInfo
}
В нашем прокси мы сначала декодируем идентификатор пользователя, затем проверяем его правильность, затем вызываем API другой команды, чтобы получить UserInfo, затем делаем некоторые изменения в результате и возвращаем его.
Обратите внимание, что объект UserInfo очень сложен, поэтому мы не хотим заново создавать преобразователь для каждого поля.
Я не нашел способа извлечь запрос, а затем передать его API другой команды. Мы используем https://netflix.github.io/dgs/ и apollo в бэкенде.
1 ответ
Вопрос сложный для понимания, но...
Вы можете запросить API «другой команды» и получить результат этого запроса, а затем запустить свой собственный отдельный запрос на основе результатов первого запроса.