如何解决“变异返回数据为空”?
Posted
技术标签:
【中文标题】如何解决“变异返回数据为空”?【英文标题】: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 在查询中传递的参数相同的标题和作者 并且没有错误消息
【问题讨论】:
【参考方案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;
【讨论】:
以上是关于如何解决“变异返回数据为空”?的主要内容,如果未能解决你的问题,请参考以下文章
Document Stream snapshot.hasData 返回 true 但没有数据,如何解决这个问题?
什么是错误错误:返回错误:调用区块链数据时执行恢复以及如何解决?
用axios请求接口数据时,返回两层data数据,应该如何解决?