根据谁消费这个 API、以及他们的数据需求有多多样来选择——而不是跟风。当许多不同的客户端需要各自塑造自己的数据时,GraphQL 胜出;当请求统一、可缓存且简单时,REST 胜出。
何时选 GraphQL
- 许多需求各异的客户端 —— web、iOS、Android 都想从同一批实体拿到不同的字段。GraphQL 消除 over/under-fetching,你就不必为每个界面上一个新 endpoint。
- 深度关联/图状数据 —— 一个查询遍历关系(
user -> posts -> comments),而不是 N 次 REST 往返。
