在此查询中,在GraphQl中,desiredSubfield
上的Resolve函数未被调用,并且查询返回null。我如何正确解决嵌套字段?
查询:
{
"query": "query ($requiredArg: String!, $anotherArg: String) { user(requiredArg: $requiredArg) { desiredSubfield(anotherArg: $anotherArg) { _id name} } }",
"variables": {
"requiredArg": "someString",
"anotherArg": "anotherString"
}
}
关联对象:
export default {
type: userType,
args: {
requiredArg: {
name: 'requiredArg',
type: new GraphQLNonNull(GraphQLString),
},
fields: () => {
return {
desiredSubfield: {
type: subfieldType,
args: subfieldType.args,
resolve(source, params, root, ast) {
console.log('subfield resolve is hit');
return fetchUser();
},
},
};
},
resolve(source, params, root, ast) {
console.log('in main resolve');
}
};
好吧,看起来我想知道它( sigh (
问题是我为非巢字段编写的虚拟解析函数没有返回。看解决方案:
export default {
type: userType,
args: {
requiredArg: {
name: 'requiredArg',
type: new GraphQLNonNull(GraphQLString),
},
fields: () => {
return {
desiredSubfield: {
type: subfieldType,
args: subfieldType.args,
resolve(source, params, root, ast) {
console.log('subfield resolve is hit');
return fetchUser();
},
},
};
},
resolve(source, params, root, ast) {
console.log('in main resolve');
return true;
}
};
如果其他人遇到同一件事,我将在此处留在这里。