示例
示例
query {
order(id: "1001") {
id
total
customer { name }
}
}服务端治理清单
| 项 | 做法 |
|---|---|
| 深度限制 | 限制查询嵌套层数(如 10 层) |
| 复杂度计分 | 按字段权重计分,超阈值拒绝 |
| 持久化查询 | 常用查询白名单化,收窄任意查询面 |
| 分页 | 强制游标分页,禁用无界列表 |
必须为查询设置深度、复杂度与超时上限:嵌套与别名叠加可能放大为昂贵扫描。
由客户端声明所需字段的查询语言:单端点、强类型模式、按需取数,减少多接口拼装;代价是查询复杂度不可控,缓存与限流策略与 HTTP 不同。
query {
order(id: "1001") {
id
total
customer { name }
}
}| 项 | 做法 |
|---|---|
| 深度限制 | 限制查询嵌套层数(如 10 层) |
| 复杂度计分 | 按字段权重计分,超阈值拒绝 |
| 持久化查询 | 常用查询白名单化,收窄任意查询面 |
| 分页 | 强制游标分页,禁用无界列表 |