GraphQL 是 Facebook 于 2015 年开源的API 查询语言与运行时。客户端发送一份描述「要什么数据」的查询,服务端按 Schema 精确返回,不多不少。
GraphQL 是 Facebook 开源的查询语言,让前端精确要数据、不再被 REST 过度获取或多次请求困扰。本文讲清概念、与 REST 的区别、优缺点与适用场景。
YesApi Pro 低代码生成规范化 REST API,自带文档、鉴权与限流。
GraphQL 是 Facebook 于 2015 年开源的API 查询语言与运行时。客户端发送一份描述「要什么数据」的查询,服务端按 Schema 精确返回,不多不少。
| 维度 | REST | GraphQL |
|---|---|---|
| 取数 | 固定端点,可能过多/过少 | 一次查询精确取所需 |
| 请求轮次 | 多端点多次请求 | 单请求聚合 |
| 版本 | 常需 /v1 /v2 | 靠新增字段演进,少版本 |
优点:前端自助取数、减少请求数、强类型契约。缺点:缓存不如 REST 简单(单端点)、易写出深层/低效查询(N+1)、服务端实现更复杂、文件上传等非查询场景不自然。
前端多变、聚合多数据源、移动端省流量 → 适合 GraphQL;简单 CRUD、强缓存、公开开放 API → REST 更顺手。也可并存:用 GraphQL 聚合,后端仍由 REST 服务提供。