在一个请求中接受动态大小数组作为 NodeJs 输入的 GraphQL 突变
GraphQL mutation that accepts an array of dynamic size in one request as input with NodeJs
我想在 GraphQL Mutation with NodeJS 中传递动态大小的 [{questionId1,value1},{questionId2,value2},{questionId3,value3}] 的对象数组
.........
args: {
input: {
type: new GraphQLNonNull(new GraphQLInputObjectType({
name: 'AssessmentStep3Input',
fields: {
questionId:{
name:'Question ID',
type: new GraphQLNonNull(GraphQLID)
},
value:{
name:'Question Value',
type: new GraphQLNonNull(GraphQLBoolean)
}
}
}))
}
},
.........
如何使用给定的代码示例执行此操作?
谢谢
如果您想使用 GraphQL Mutation 传递对象数组,您需要使用 "GraphQLList",它允许您传递具有给定输入动态大小的数组。
示例如下
........
........
args: {
input: {
type: new GraphQLNonNull(GraphQLList(new GraphQLInputObjectType({
name: 'AssessmentStep3Input',
fields: {
questionId:{
name:'Question ID',
type: new GraphQLNonNull(GraphQLID)
},
value:{
name:'Question Value',
type: new GraphQLNonNull(GraphQLBoolean)
}
}
}))
)
}
},
........
........
希望对您有所帮助。
谢谢
我刚刚发布了 article on that, so that you can take a look if you would like to know more detail. This is the repository with the examples, where the createUsers mutation is implemented https://github.com/atherosai/express-graphql-demo/blob/feature/5-modifiers/server/graphql/users/userMutations.js。你可以看看它是如何实现的,但总的来说上面的答案是正确的。您可以在数组中输入任意数量的对象(如果您没有实施一些项目限制,但默认情况下不存在)。
我想在 GraphQL Mutation with NodeJS 中传递动态大小的 [{questionId1,value1},{questionId2,value2},{questionId3,value3}] 的对象数组
.........
args: {
input: {
type: new GraphQLNonNull(new GraphQLInputObjectType({
name: 'AssessmentStep3Input',
fields: {
questionId:{
name:'Question ID',
type: new GraphQLNonNull(GraphQLID)
},
value:{
name:'Question Value',
type: new GraphQLNonNull(GraphQLBoolean)
}
}
}))
}
},
.........
如何使用给定的代码示例执行此操作?
谢谢
如果您想使用 GraphQL Mutation 传递对象数组,您需要使用 "GraphQLList",它允许您传递具有给定输入动态大小的数组。
示例如下
........
........
args: {
input: {
type: new GraphQLNonNull(GraphQLList(new GraphQLInputObjectType({
name: 'AssessmentStep3Input',
fields: {
questionId:{
name:'Question ID',
type: new GraphQLNonNull(GraphQLID)
},
value:{
name:'Question Value',
type: new GraphQLNonNull(GraphQLBoolean)
}
}
}))
)
}
},
........
........
希望对您有所帮助。
谢谢
我刚刚发布了 article on that, so that you can take a look if you would like to know more detail. This is the repository with the examples, where the createUsers mutation is implemented https://github.com/atherosai/express-graphql-demo/blob/feature/5-modifiers/server/graphql/users/userMutations.js。你可以看看它是如何实现的,但总的来说上面的答案是正确的。您可以在数组中输入任意数量的对象(如果您没有实施一些项目限制,但默认情况下不存在)。