GraphQL 速查
共 24 条 GraphQL 语法,覆盖查询、变量与片段、变更与订阅、Schema 定义、调用与工具 五组内容。支持搜索与分类筛选,点击即可复制。
查询(Query)
按需取字段,不多不少。
| 查询 / 语法 | 说明 |
|---|---|
| 基本查询 | |
| 给字段起别名(u 为别名) | |
| 字段传参 | |
| 分页 / 排序参数 | |
| 嵌套查询 |
变量与片段
复用与动态传参。
| 查询 / 语法 | 说明 |
|---|---|
| 声明变量($id,! 表示必填) | |
| 请求体里传变量值 | |
| 定义片段 | |
| 使用片段(... 展开) | |
| 特殊字段:查看返回的具体类型名 |
变更与订阅
写操作与实时推送。
| 查询 / 语法 | 说明 |
|---|---|
| 变更(写入),返回创建结果 | |
| 带变量的变更 | |
| 订阅(通常基于 WebSocket) | |
| 客户端缓存友好的惯例 |
Schema 定义(SDL)
服务端类型系统。
| 查询 / 语法 | 说明 |
|---|---|
| 对象类型(! 非空,[] 列表) | |
| 入口查询类型 | |
| 入口变更类型 | |
| 输入类型(用于参数) | |
| 枚举 | |
| 接口与联合类型 |
调用与工具
发请求与调试。
| 查询 / 语法 | 说明 |
|---|---|
| GraphQL 端点固定,用 POST 传查询 | |
| 命令行调用示例 | |
| 可视化调试与 schema 浏览 | |
| 简易查询也可用 GET |
使用说明
GraphQL 速查:查询、变量与片段、变更与订阅、Schema 定义、调用与工具;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:查询、变量与片段、变更与订阅、Schema 定义、调用与工具。
- 点「查询 / 语法」列复制片段,替换字段名与参数。
- 按需只取需要的字段(避免 REST 的过度获取)。
- 用变量传参、用片段复用字段;调试用 GraphiQL。
常见问题
- GraphQL 和 REST 有什么区别?
- REST 有多个端点、响应结构由服务端定;GraphQL 通常单一端点、由客户端声明要哪些字段,能减少过度获取与多次请求,但缓存与限流更复杂。
- query 和 mutation 有什么区别?
- query 用于读取(不应有副作用),mutation 用于写入 / 修改。语义区分有助于工程约束与工具优化(如可缓存 query)。
- ! 和 [] 在 Schema 里什么含义?
- ! 表示非空(该字段一定返回值);[] 表示列表。组合如 [Post!]! 表示「非空的、元素也非空的列表」。
- N+1 问题怎么解决?
- 服务端常见用 DataLoader 做批量合并与缓存,把逐条查询合并成批量请求,避免一次查询触发大量后端调用。
延伸阅读
相关工具
RLUP
Rollup 速查
rollup -c / output / plugin / treeshake 速查
ESB
esbuild 速查
esbuild --bundle / --minify / build() 速查
PRCL
Parcel 速查
parcel index.html / build / target 速查
SWC
SWC 速查
swc src -d dist / .swcrc / transform() 速查
NX
Nx 速查
nx build / nx graph / nx affected 速查
TBRO
Turborepo 速查
turbo run / turbo.json / --filter 速查