如何解决错误:不知道如何处理这种类型的突变突变不遵循命名约定
我使用GRANDstack Starter模板项目,将apollo-server与neo4j结合使用。我有一个CreateParticipant
突变(在schema.graphql中使用@cypher指令定义),我想将其重新用于新的突变。
传递到增强模式的简化解析器如下所示:
const resolvers = {
Mutation: {
UploadCSV: async (parent,{ file },context,info) => {
// some data processing using file omitted
const payload = { name: 'Just a name' }
const result = resolvers.Mutation.CreateParticipant(
parent,payload,info
)
return 'thanks StackOverflow'
},},}
如下所示,在schema.graphql文件中定义了突变:
CreateParticipant(name: String!,id: ID = null): Participant
@cypher(
statement: """
CREATE (par:Participant {
name: $name,id: coalesce($id,apoc.create.uuid())
})
RETURN par
"""
)
UploadCSV(file: Upload!): String
当我现在尝试通过前端上传文件时,阿波罗服务器在执行resolvers.Mutation.CreateParticipant(parent,info)
时会引发错误。有效负载是突变期望的具有键/值对的对象。
抛出的错误是:
错误:不知道如何处理这种类型的突变。突变确实 不遵循命名约定。
我想知道是否传递未修改的info
是不起作用的原因。
解决方法
不要试图将变异称为另一个变异。而是拉出创建参与者逻辑并导入通用功能。这样,您就可以将上传的csv与创建参与者变量之间的关注点分开。
一些好的资源:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。