Я пытаюсь изучить GraphQL, но получаю сообщение об ошибке, например, когда пытаюсь выполнить {customers{id, name}}, а также когда пытаюсь использовать мутацию или искать конкретного клиента. Можете вы помочь мне? Я консольно записываю данные о преобразователях, и все в порядке, но я предполагаю, что проблема связана с типом данных. Как я могу это исправить?
Это мой файл typeDefs.js:
const { gql } = require("apollo-server-express");
const typeDefs = gql`
type Customer {
id: ID!
name: String!
email: String!
age: Int!
}
type Query {
customer(id: ID!): Customer
customers: [Customer]!
}
type Mutation {
addCustomer(name: String!, email: String!, age: String!): Customer!
editCustomer(
id: ID!
name: String!
email: String!
age: String!
): Customer!
deleteCustomer(id: ID!): Customer!
}
`;
module.exports = typeDefs;
Это мой файл resolvers.js:
const axios = require("axios");
const resolvers = {
Query: {
customer: async (_, { id }) => {
const data = await axios.get("http://localhost:3000/customers/" + id);
return data;
},
customers: async () => {
const data = await axios.get("http://localhost:3000/customers/");
return data;
},
},
Mutation: {
addCustomer: async (_, { name, email, age }) => {
const response = await axios.post("http://localhost:3000/customers", {
name,
email,
age,
});
return response.data;
},
editCustomer: async (_, { id, name, email, age }) => {
const response = await axios.patch(
"http://localhost:3000/customers" + id,
{
name,
email,
age,
}
);
return response.data;
},
},
};
module.exports = resolvers;
Мои данные находятся на json-сервере в этом формате:
{
"customers": [
{
"id": "1",
"name": "John Doe",
"email": "[email protected]",
"age": 36
},
{
"id": "2",
"name": "Keith Wilson",
"email": "[email protected]",
"age": 50
},
{
"id": "3",
"name": "Tom Jones",
"email": "[email protected]",
"age": 23
},
{
"id": "5",
"name": "Jen Thompson",
"email": "[email protected]",
"age": 22
}
]
}
console.log(data)
... вероятно, "данные" содержат объект со свойством "клиенты", а резолвер должен возвращать только массив - person xadm   schedule 05.10.2020