01 前端只要 4 个字段,接口却塞了 11 个
榜单页只用 书名 · 作者 · 评分 · 价格。三种接口各返回了什么?
再点一下「简介」开关,看页面想要新字段时,谁会掉链子。
页面用到 多余字段
REST 完整套餐 GET /catalog/full
-
响应字节
-
浪费
请求中...
REST 瘦身版 GET /catalog/light
-
响应字节
-
浪费
请求中...
GraphQL 自选 POST /graphql
-
响应字节
-
浪费
请求中...
02 连刷 10 次,GET 白嫖缓存
REST 走 GET,浏览器自动缓存;GraphQL 走 POST,次次全价。
点下面按钮,看 10 次累计差多少。
| 指标 |
REST 完整套餐 |
REST 瘦身版 |
GraphQL |
| 首次耗时 | - | - | - |
| 第 2 次起平均 | - | - | - |
| 10 次累计 | - | - | - |
04 结论:为什么 REST 仍是主流
GraphQL
- 客户端精确取数,省流量
- 一次请求拿完嵌套数据
- 代价:服务端成本无上界
=
REST
- 接口即契约,成本可预估
- GET 天然可缓存、幂等
- 代价:字段冗余(可优化)
GraphQL 的代价集中在服务端:它把复杂度从客户端搬到了服务端——而公开 API 是服务端买单。BFF 内部用 GraphQL、对外用 REST,是最常见的折中。