Javascript 如果要从另一个rootQuery解析字段,如何让GraphQL知道?
让我解释一下:Javascript 如果要从另一个rootQuery解析字段,如何让GraphQL知道?,javascript,graphql,Javascript,Graphql,让我解释一下: type第二种类型{ id:字符串 } 第一型{ id:字符串 SecondType:[SecondType] } 类型查询{ FirstType:[FirstType] SecondType:[SecondType] } // 常量解析程序={ 查询:{ firstTypes:fetchFirstTypes, secondTypes:fetchSecondTypes } };根据我对您问题的理解,您需要一个密钥SecondType的解析器,该密钥存在于FirstType中。为
type第二种类型{
id:字符串
}
第一型{
id:字符串
SecondType:[SecondType]
}
类型查询{
FirstType:[FirstType]
SecondType:[SecondType]
}
//
常量解析程序={
查询:{
firstTypes:fetchFirstTypes,
secondTypes:fetchSecondTypes
}
};代码>根据我对您问题的理解,您需要一个密钥SecondType的解析器,该密钥存在于FirstType中。为此,,
您可以按如下方式创建解析器:
const resolver = {
Query: {
firstTypes: fetchFirstTypes,
secondTypes: fetchSecondTypes
},
FirstType: {
secondTypes: (parent, args, context, info) => {
// Here you will get the parent id(FirstType) parent.id
// From Here resolve the secondtypes data
}
}
};
我明白这个想法,但不幸的是它对我不起作用。因此,FirstType没有字段secondTypes最初来自resolver-fetchFirstTypes返回的值,我想手动添加secondTypes。这是否仍然可行?通常上述解决方案应该有效。在fetchFirstTypes中手动添加SecondTypes也有效。您应该返回与前面提到的类型中存在的字段相匹配的对象当前我使用的是express graphql,在这里我无法在Query
中定义根查询的解析程序,而且解析程序函数参数也不同。在上面的示例中,我只能在reducer对象的第一级定义我的根查询,如果我在Query
中传递它们,它将抛出无法返回null的非null字段。自从我提出这个问题以来,我花了一整天的时间尝试不同的东西,除了我使用的软件包之外,没有任何理由说明它对我不起作用即使这个流行的软件包不能做到这一点会令人惊讶,但这可能会有所帮助: