验证后失败:标题:需要路径“标题”。”,在 graphql
Posted
技术标签:
【中文标题】验证后失败:标题:需要路径“标题”。”,在 graphql【英文标题】:Post validation failed: title: Path `title` is required.", in graphql 【发布时间】:2019-12-27 10:41:18 【问题描述】:我试图在 graphql-yoga 中添加变异,但每次我尝试变异时都会出现错误提示
后验证失败:标题:路径
title
是必需的。",
我不知道为什么。
这是我的代码
解析器
Mutation:
createPost: async(root, args, ctx) =>
console.log(args)
try
const post = new Post(
title: args.title,
description: args.description,
content: args.content
);
const result = await post.save();
console.log(result);
return result
catch(err)
throw err
架构
input postInput
title: String!
description: String!
content: String!
type Mutation
createPost(input: postInput): Post!
如果我删除输入类型并直接这样做,这很好用
type Mutation
createPost(title: String!,description: String!,content: String!): Post!
日志结果
input:
[Object: null prototype]
title: 'with input',
description: 'this is de',
content: 'this is conte'
这里为什么我收到[Object: null prototype]
?
【问题讨论】:
【参考方案1】:如果您在架构上提供这样的输入类型,您必须像这样在解析器中发送数据:
const post = new Post(
title: args.input.title,
description: args.input.description,
content: args.input.content
);
这意味着,在 args 中,我们需要一个名为 input 的参数,它的类型是 Post。
同时在 graphql gui 上提供数据时,像这样发送数据:
mutation
createPost(input:
title: 'with input',
description: 'this is de',
content: 'this is conte')
//return your id or others
【讨论】:
以上是关于验证后失败:标题:需要路径“标题”。”,在 graphql的主要内容,如果未能解决你的问题,请参考以下文章
Mongoose ValidationError:验证失败:需要路径
unhandledPromiseRejectionWarning:ValidationError:用户验证失败:密码:需要路径“密码”
错误:架构验证失败并出现以下错误:数据路径“”不应具有其他属性(项目)
Angular Schema 验证失败并出现以下错误:数据路径“”不应具有其他属性(rebaseRootRelativeCssUrls
WEBLOGIC 上出现“PKIX 路径验证失败:java.security.cert.CertPathValidatorException:时间戳检查失败”错误