Ответ от API, который вы вызываете, выглядит следующим образом:
{
"count": 87,
"next": "https://swapi.co/api/people/?page=2",
"previous": null,
"results": [
{
"name": "Luke Skywalker",
"height": "172",
"mass": "77",
},
]
}
Это объект, который вы возвращаете из преобразователя, который, как показывает ошибка, не является итерируемым, поэтому GraphQLне знает, как справиться с этим.Необходимо преобразовать результат API перед его возвратом, например так:
const resolvers = {
Query: {
getCharacters: () => {
return fetch('https://swapi.co/api/people')
.then(res => res.json())
.then(json => json.results);
}
},
Character: {
// transform specific fields here
}
}
Обратите внимание, что распознаватель для поля name
больше не требуется, поскольку имя поля соответствует имени свойства каждого Character
объект, возвращаемый распознавателем getCharacters
.