Как подграф 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 «другой команды» и получить результат этого запроса, а затем запустить свой собственный отдельный запрос на основе результатов первого запроса.

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