GraphQL 最核心的能力,叫 字段选择。
看两个查询:
query {
resident(id: "r-1001") {
name
}
}query {
resident(id: "r-1001") {
id
name
zone
tickets {
id
title
status
}
}
}虽然都是问同一个住户,但需求完全不同。
第一张问询单只问名字。
第二张问询单连住户的工单也一起问了。
这就是 GraphQL 和很多传统接口的本质区别:
REST 常常是窗口决定返回什么
GraphQL 是来访者决定返回什么对智能问询总台来说,这相当于:
- 不是总台把整本档案都塞给你
- 而是你点“姓名、分区、最近工单”
- 总台就只打印那几栏
这一步很重要,因为后面所有能力,几乎都建立在“字段选择”上。