Преобразование структуры ответа apollo-datasource-rest для адаптации к уже определенной удаленной схеме
У нас уже есть удаленная схема. Мы получаем ответ источника данных Apollo, нажимая REST API с помощью apollo-datasource-rest. Формат ответа json не соответствует схеме. Задача состоит в том, чтобы преобразовать ответ json в соответствие со схемой и вернуть результат по запросу пользователя. Как этого добиться?
Например, ответ REST API:
{
"members": {
"name": "john",
"street_address": "10 Barley St."
}
}
Наша удаленная схема graphql:
type Users {
username: String!
street: String!
}
Мы высоко ценим любые идеи, помощь или исходный код. Еще раз спасибо.
1 ответ
Вы можете преобразовать поля ответа REST API в схему GraphQL в GraphQL resolver
. Или делегируйте эти операции преобразования на уровень модели. Это общий подход.
Если вы считаете, что преобразовывать поля в резолверах или на уровне модели вручную слишком многословно.
Для этого вы можете использовать некоторую библиотеку, например https://typegraphql.ml/. Он объединяет слой вашей модели и слой схемы GraphQL. Он отображает поля модели в поля схемы GraphQL.