编写 GraphQL 查询
Composing GraphQL queries
假设 GraphQL 模式支持以下查询:
{
person(id: String) {
locationId
}
}
和
{
location(id: String) {
country
}
}
是否可以通过 id
找到一个 person
,然后使用结果 locationid
通过 id
找到他们的 location
(返回 country
对应于那个 location
) 所有在一个查询中?
或者我必须进行两个单独的查询吗?
如果这是您可以从 person
获得的有关 location
的唯一信息,那么是的,您将需要在单独的请求中执行两个查询。
对于 GraphQL 模式来说,将整个 location
节点呈现为从 person
可见(即,id 将被取消引用,尽管可能仍然可用),这将是更正常的,如果一个person
可能有多个 location
,那么您将沿着 locations
边到达每个 location
节点。
查询将如下所示;
{
person(id: string){
location{
country
}
}
}
在您的人员类型中,您可以将解析器应用于 location
字段,该字段根据执行查询的人员的 locationId 获取位置。
假设 GraphQL 模式支持以下查询:
{
person(id: String) {
locationId
}
}
和
{
location(id: String) {
country
}
}
是否可以通过 id
找到一个 person
,然后使用结果 locationid
通过 id
找到他们的 location
(返回 country
对应于那个 location
) 所有在一个查询中?
或者我必须进行两个单独的查询吗?
如果这是您可以从 person
获得的有关 location
的唯一信息,那么是的,您将需要在单独的请求中执行两个查询。
对于 GraphQL 模式来说,将整个 location
节点呈现为从 person
可见(即,id 将被取消引用,尽管可能仍然可用),这将是更正常的,如果一个person
可能有多个 location
,那么您将沿着 locations
边到达每个 location
节点。
查询将如下所示;
{
person(id: string){
location{
country
}
}
}
在您的人员类型中,您可以将解析器应用于 location
字段,该字段根据执行查询的人员的 locationId 获取位置。