我想问一下 GraphQL 此代码将失败,并显示错误
错误:Mutation.addUser args必须是一个参数名称为键的对象。
这是代码
const Schema = new GraphQLObjectType({
name: "Mutation",
description: "Mutation schema",
fields() {
return {
// Add user
addUser: {
type: UserSchema,
args: {
firstName: {
type: GraphQLString
},
lastName: {
type: GraphQLString
}
},
resolve(_, args){
return Db.models.user.update( () => {
return _.mapValues(args, (v, k) => {
return args[k];
});
}, {
returning: true
});
}
}
};
}
});
但是,这段代码完美无缺
args
为什么<input id="one"> <input id="two">
<button id="open">Open</button>
<br />
<span id="urlStr"></span>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
无法从函数返回对象?
答案 0 :(得分:0)
fields
本身可以是一个函数,因此在其中使用另一个函数来定义args是多余的。
将它们作为函数的目的是能够定义需要相互引用的类型,或者需要在字段中引用自己的类型。
因此只有fields
作为一个函数才能解决问题。