如何解决"mutation returning data null"?



我正在使用apollo服务器,想学习graphql模式、查询和突变,但我没有获得正确的资源来了解突变是如何工作的,以及如何在解析器中定义突变

我尝试过在解析器中添加类似于"query"的"mutation",但没有用。

#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在查询中传递的参数相同的标题和作者并且没有错误消息

您需要在解析器中定义突变:

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

最新更新