什么是 GraphQL:前端按需索取数据

时间:2026-05-29 13:31:10   阅读:5

用 RESTful API 获取数据时,经常遇到两种尴尬:接口返回太多不需要的字段(over-fetching),或者要调好几个接口才能凑齐需要的数据(under-fetching)。GraphQL 就是为了解决这个问题。

GraphQL 的工作方式

客户端在请求中精确描述自己需要什么数据:{ user(id: 1) { name email posts { title } } }。服务器只返回这些字段,不多不少。一次请求拿到所有关联数据。

GraphQL 的优势

前端主导:前端决定要什么,后端不用为每个页面定制接口。类型系统:API 是自描述的,通过 introspection 可以自动生成文档。强类型:编译期就能发现字段名写错的问题。生态丰富:React 的 Apollo Client 和 Relay 都提供了优秀的开发体验。

GraphQL 的不足

缓存比 REST 复杂,查询深度不受限制可能导致性能问题,学习曲线较陡。大公司如 GitHub、Shopify 都在用,但小项目可能没必要上。

GraphQL 适合数据关系复杂、前端展示灵活多变的场景。

上一篇:什么是消息队列:让系统之间优雅地通信

下一篇:什么是函数式编程:一个全新的编程思维