-
bbianji8 用户
GraphQL API 开发完全教程:从 REST 的痛点到了解查询、改写与搭建第一个服务
适用人群:前端/后端/全栈开发者,想理解并动手搭 GraphQL 接口。 读完你能做到:用 Python(FastAPI+Strawberry) 或 Node(Apollo) 搭服务,用查询精准取数、用 mutation 改数据。
一、原理背景
REST 的痛点:/users/1 返回一堆用不上的字段(过度获取);要用户+订单又得多调一次(请求过多);前端改需求后端就得改接口。
GraphQL 是什么? Facebook 2015 开源的 API 查询语言。核心:客户端决定要哪些字段,一个端点(通常 /graphql)搞定一切。
query {
user(id: 1) {
name
email
posts { title } # 想要什么写什么,不多不少
}
}
三个核心概念:
- Schema(SDL):用 Schema Definition Language 定义类型与接口,是前后端契约。
- Query(查)/ Mutation(增删改)/ Subscription(订阅):操作类型。
- Resolver:每个字段背后的取数函数,真正去数据库/接口拿数据。
和 REST 对比:REST 是"服务端定好几个固定接口",G