Преобразование структуры ответа 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.

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