【发布时间】:2020-12-23 10:16:45
【问题描述】:
我有以下 rootmutation 函数,它接受线索数据作为参数的一部分。该功能运行良好。
const RootMutationType = new GraphQLObjectType({
name: 'Mutation',
description: 'Root Mutation',
fields: () => ({
addLead: {
type: lead_obj,
description: 'Add a lead',
args: {
fname: {type: GraphQLNonNull(GraphQLString)},
sname: {type: GraphQLNonNull(GraphQLString)},
mobileno: {type: GraphQLNonNull(GraphQLString)},
call_time: {type: GraphQLNonNull(GraphQLString)},
productIdentifier: {type: GraphQLNonNull(GraphQLString)},
card_id: {type: GraphQLNonNull(GraphQLString)},
country: {type: GraphQLNonNull(GraphQLString)}
},
resolve: (parent, args) => {
const lead = {
id: leads.length + 1,
fname: args.fname,
sname: args.sname,
mobileno: args.mobileno,
call_time: args.call_time,
productIdentifier: args.productIdentifier,
card_id: args.card_id,
country: args.country
}
leads.push(lead)
return lead
}
}
})
})
但是,我想修改它,以便它可以通过以下方式允许 productidentifier 和 cardid 的数组:
products: [{productidentifier: 'product_1', cardid:'card_1'}, {productidentifier: 'product_2', cardid:'card_2'}]
我在我的突变上尝试了以下参数,但它有效,但我不确定是否有任何其他更好的方法来处理这个:
products : {type: GraphQLNonNull(GraphQLString)},
以下是我推送数据的方式:
mutation{
addLead(fname:"dsfd",sname:"sfd",mobileno:"gdfs",call_time:"6453" , productIdentifier:"453",
,products:"[{productidentifier: 'product_1', cardid:'card_1'}, {productidentifier: 'product_2', cardid:'card_2'}]" ,card_id:"3243", country:"US"){
fname,
sname,
mobileno,
call_time,
card_id,
country
}
}
除了将数组作为字符串传递之外,还有更好的方法来处理突变中的数组帖子吗?
【问题讨论】:
-
阅读有关 graphql 输入类型的信息