假设GraphQL架构支持以下查询:
{
person(id: String) {
locationId
}
}
和
{
location(id: String) {
country
}
}
是否可以按person
找到id
,然后使用生成的locationid
按location
查找id
(返回{{1}对应于country
)单个查询中的所有内容?
或者我是否必须进行两次单独的查询?
答案 0 :(得分:3)
查询看起来像这样;
{
person(id: string){
location{
country
}
}
}
在您的人员类型中,您可以将解析程序应用于location
字段,该字段根据执行查询的人员的locationId获取位置。
答案 1 :(得分:1)
如果这是location
上唯一可以从person
获得的信息,那么您需要在单独的请求中执行两次查询。
GraphQL架构将location
整个person
节点显示为person
可见更为正常(即id将被解除引用,但可能仍然可用),如果是{{ 1}}可能有多个location
,然后您将按照locations
边缘到达每个location
节点。