Ожидается повторение, но не найдено для поля \"Query.customers\

Я пытаюсь изучить 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
    }
  ]
}


person motapinto    schedule 05.10.2020    source источник
comment
console.log(data) ... вероятно, "данные" содержат объект со свойством "клиенты", а резолвер должен возвращать только массив   -  person xadm    schedule 05.10.2020
comment
да, поэтому я должен сделать это, чтобы работать: вернуть data.data... спасибо!   -  person motapinto    schedule 05.10.2020