适合 GraphQL 的场景
多端并存
Web、移动端、运营后台、合作方客户端,对同一批业务对象要不同视图关系复杂
用户、订单、商品、评论、库存、推荐互相勾连,页面经常跨多个对象拿数据前端迭代快
前端不想每改一个页面就等后端新开接口聚合层/BFF 场景
背后有多个 REST、RPC、数据库、微服务,需要一个统一总台做聚合需要强类型协作
团队希望把“能问什么、能改什么”写成清晰合同
不太适合 GraphQL 的场景
接口非常简单
就几个固定 CRUD,且客户端需求稳定强依赖传统 HTTP 语义
大量基于 URL、动词、状态码、代理层规则做治理以文件上传/下载、大流式传输为主
这些通常不是 GraphQL 最舒服的主战场团队没有 Schema 治理能力
GraphQL 不是“省设计”,反而更考验命名、边界、字段治理公共开放平台且接入方极多
如果查询复杂度控制、权限控制、限流策略做不好,总台会被问爆
最务实的判断标准:
如果你的问题是“接口太多、页面总缺字段、跨服务拼数据很痛苦”
GraphQL 往往值得上
如果你的问题只是“想试个新技术”
那通常不是上 GraphQL 的理由