Как решить "мутация, возвращающая данные ноль"? - PullRequest
0 голосов
/ 09 ноября 2019

Я использую apollo-сервер и хочу изучить схему, запросы и мутации graphql, но я не получаю правильные ресурсы для понимания того, как работает мутация и как определить мутацию в резольверах

я пробовал что-то вроде добавления«мутация» похожа на «запрос» в средствах разрешения, но бесполезна.

#schema
  const typeDefs = gql`
  type Book {
    title: String
    author: String
  }

  type Mutation {
    addBook(title: String, author: String): Book
  }

  type Query {
    getBooks: [Book]
  }
`;

#resolvers
const resolvers = {
  Query: {
    getBooks: () => books
  }
};


#querying  in graphql playground
mutation{
  addBook(  title: "a sad love story",author:"pavan kalyan"){
    title
    author
  }
}

#result i got
{
  "data": {
    "addBook": null
  }
}

Я хочу получить заголовок и автора в результате, совпадающих с аргументами iam, передаваемыми в запросе, и без сообщений об ошибках

1 Ответ

0 голосов
/ 09 ноября 2019

Вам нужно определить мутацию в ваших резольверах:

const resolvers = {
  Query: {
    getBooks: () => books,
  },
  Mutation: {
    addBook: (_, {input}) => {
      // ... code to add book somewhere
      const addedBook = insert(input.title, input.author);
      return addedBook; // i.e. {title: input.title, author: input.author};
    }
  }
}
...