使用GRANDstack Starter模板项目,我将 apollo-server 与 neo4j 结合使用。我有一个CreateParticipant
突变(在带有 @cypher 指令的 schema.graphql 中定义),我想将其重用于新的突变。
传递到增强模式中的简化解析器如下所示:
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,
context,
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
当我现在尝试通过前端上传文件时,apollo-server 在执行resolvers.Mutation.CreateParticipant(parent, payload, context, info)
. 有效负载是一个具有突变期望的键/值对的对象。
抛出的错误是:
错误:不知道如何处理这种类型的突变。突变不遵循命名约定。
我想知道是否通过未修改info
是这不起作用的原因。