Ramcharan Madasu
Ramcharan Madasu

Reputation: 3

How to solve "mutation returning data null"?

i'm using apollo-server and want to learn graphql schema, queries and mutations but iam not getting correct resources for understing how mutation works and how to define mutation in resolvers

i have tried something like adding "mutation" similar to "query" in the resolvers but no use.

#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
  }
}

i want to get the title and author in the result same as the arguments iam passing in the query and no error messages

Upvotes: 0

Views: 2162

Answers (1)

SirensOfTitan
SirensOfTitan

Reputation: 819

You need to define the mutation in your resolvers:

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};
    }
  }
}

Upvotes: 2

Related Questions