什么是 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 适合数据关系复杂、前端展示灵活多变的场景。




提供云计算服务