【问题标题】:How to solve "mutation returning data null"?如何解决“变异返回数据为空”?
【发布时间】:2020-03-05 21:46:24
【问题描述】:

我正在使用 apollo-server,想学习 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 在查询中传递的参数相同的标题和作者 并且没有错误消息

【问题讨论】:

    标签: graphql apollo-server


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-08-17
      • 2022-07-08
      • 2018-09-26
      • 1970-01-01
      • 2019-10-08
      • 2020-02-06
      • 1970-01-01
      • 2022-12-06
      • 1970-01-01
      相关资源
      最近更新 更多