编写GraphQL查询

时间:2016-09-22 16:27:40

标签: graphql

假设GraphQL架构支持以下查询:

{
    person(id: String) {
        locationId
    }
}

{
    location(id: String) {
        country
    }
}

是否可以按person找到id,然后使用生成的locationidlocation查找id(返回{{1}对应于country)单个查询中的所有内容?

或者我是否必须进行两次单独的查询?

2 个答案:

答案 0 :(得分:3)

查询看起来像这样;

{
    person(id: string){
        location{
            country
        }
    }
}

在您的人员类型中,您可以将解析程序应用于location字段,该字段根据执行查询的人员的locationId获取位置。

答案 1 :(得分:1)

如果这是location上唯一可以从person获得的信息,那么您需要在单独的请求中执行两次查询。

GraphQL架构将location整个person节点显示为person可见更为正常(即id将被解除引用,但可能仍然可用),如果是{{ 1}}可能有多个location,然后您将按照locations边缘到达每个location节点。