GRAPHQL / CHEATSHEET · 查询构建台

GraphQL 查询语法速查器:按操作类型生成骨架

切一次 query / mutation / subscription,骨架立刻换;勾字段拼选择集, 别名、变量、指令、片段 单独开关,右侧查询文档与括号校验同步刷新。纯本地生成,不连任何服务端。

query 读mutation 写subscription 推流片段复用

标识符合法性、括号配对与变量 JSON 都会在导出前逐条校验。

操作类型01 / 03
示例:

查询文档 .graphql

0 行

生成一条查询后可点「AI 查询建议」;首次点击会先弹出人机验证,通过后才生成。

语法校验

—

    语法速查表

    按用途找写法
    01 · 操作

    query / mutation / subscription

    query 读数据,mutation 写数据,subscription 持续接收推送;关键字后面跟操作名,省略操作名就是匿名操作。

    query GetUser { user(id: "1") { name } }
    02 · 别名

    graphql 别名变量

    用 alias: field 改返回键,同名根字段可以取多次;别名必须是合法标识符,不能含空格或标点。

    admins: users(role: ADMIN) { id }
    03 · 变量

    graphql 变量定义

    定义写在操作名后的圆括号,$limit: Int = 10 带默认值,! 表示非空;变量值是另一段 JSON。

    query Q($id: ID!) { user(id: $id) { name } }
    04 · 变更

    mutation 骨架

    写操作用 mutation,输入通常包成一个 input 对象;返回字段仍然要写选择集,否则拿不到数据。

    mutation M($input: OrderInput!) { createOrder(input: $input) { id } }
    05 · 订阅

    subscription 写法

    结构与 query 相同,关键字换成 subscription;服务端需支持 WebSocket 或 SSE 长连接才能持续推送。

    subscription OnMsg { messageSent { id text } }
    06 · 片段

    graphql 片段用法

    先定义 fragment F on Type,再用 ...F 引用;... on Type 是内联片段,适合联合类型按类型取字段。

    fragment UserBasics on User { id name }
    07 · 指令

    @include / @skip

    指令跟在字段或片段后面,用布尔变量控制是否取该字段:@include(if: $x) 与 @skip(if: $y)。

    email @include(if: $withEmail)
    08 · 转义

    字符串与标识符

    标识符只允许字母、数字与下划线且不能以数字开头;字符串里的引号、反斜杠与换行必须转义后写入查询。

    user(name: "a\"b") { id }

    批量查询方案

    保存多套骨架横向对比
    方案操作类型根字段字段数行数错误操作

    还没有方案,生成一条查询后点「保存当前查询」。

    ⌘语法口径与常见误填 骨架对了,再谈业务

    操作类型 query 读数据、mutation 写数据、subscription 持续接收推送。三者的骨架结构相同,订阅需要服务端支持长连接,本页只生成文本。
    选择集 大括号里的字段叫 selection set;勾选字段后按两空格缩进拼装,字段顺序就是你勾选的顺序,不会自动补服务端没有的字段。
    别名 alias: field 用来在同一层里多次取同一个字段,或把返回键改成更好读的名字。别名必须是合法标识符,页面会校验。
    变量 变量定义写在操作名后面,例如 $limit: Int = 10;实际的变量值是另一段 JSON,不能和查询文档写在一起。页面分开编辑并校验 JSON。
    片段 fragment X on Type 复用一组字段,引用时写 ...X;内联片段用 ... on Type。本页生成具名片段定义,便于直接复制。
    括号校验 括号配对会忽略字符串里的括号,分别统计大括号与圆括号;不配对时给出错误,避免把半截查询贴到控制台。

    这个工具解决什么问题

    写 GraphQL 查询时,最容易卡住的不是业务逻辑,而是骨架格式记不全:变量定义放哪里、别名怎么写、subscription 和 query 差在哪、片段要不要单独定义。本页按操作类型生成骨架,勾字段就拼选择集,开关别名、变量、指令与片段,边改边看校验结果。

    四条实用原则

    • 先定操作类型:读用 query、写用 mutation、持续推流用 subscription;骨架不同,别把 mutation 写成匿名查询。
    • 字段只勾实际存在的:生成的字段名来自你的勾选,页面不会伪造服务端 schema;上线前请对照自己的接口定义核对。
    • 变量与值分开:变量定义属于查询文档,变量值属于单独的 JSON;两处都要合法,页面分别校验。
    • 导出前看括号:括号配对、标识符合法性、变量 JSON 都通过后再复制,能省掉大量控制台报错。

    按这几步用

    1. 选操作类型:在 query / mutation / subscription 之间切换,右侧骨架与提示同步变化。
    2. 填操作名与根字段:输入符合 GraphQL 标识符规则的命名,页面会即时校验非法字符。
    3. 勾选返回字段:从常用字段里勾选,或添加自定义字段,选择集按勾选顺序缩进拼装。
    4. 开关语法特性:按需打开别名、变量定义与变量值、@include / @skip 指令、具名片段与头部注释。
    5. 看校验结果:标识符、括号配对、变量 JSON、字段数量与订阅提示逐条列出,错误项标红。
    6. 导出或批量对比:复制或下载 .graphql、分享链接;保存多套查询方案横向对比并合并导出。

    小提示

    页面生成的是查询文档文本,不连接任何 GraphQL 服务端、不猜测 schema。别名、片段名与操作名都按标识符规则校验,自定义字段里的特殊字符会被拦下。

    更新记录

    • v1.0 2026-11-10 首次上线:三类操作骨架、字段选择集、别名变量指令片段、括号与变量校验、片段速查表与批量方案。
    • v1.1 2026-11-10 接入 AI 查询建议(点击先过人机验证),补充深色主题与窄屏布局。

    常见问题

    GraphQL 查询语法的骨架长什么样?

    读操作一般是 query 操作名(变量定义) { 根字段(参数) { 字段... } };mutation 结构相同但用 mutation 关键字;subscription 用 subscription 关键字。页面按你选的类型实时生成完整骨架。

    graphql 别名和变量怎么用?

    别名写成 alias: field,用来改返回键或重复取同一字段;变量定义写在操作名后的圆括号里,例如 $limit: Int = 10,字段参数里用 $limit 引用。变量的实际取值要单独放在 JSON 里。

    subscription 写法和 query 有什么区别?

    语法结构几乎一样,只是关键字换成 subscription,且需要服务端支持 WebSocket 或 SSE 等长连接来持续推送。页面会生成骨架并给出这条提示,但不会建立连接。

    mutation 骨架该怎么写?

    常见写法是 mutation 操作名($input: XxxInput!) { 根字段(input: $input) { 返回的字段 } }。在「变更示例」里可以直接看到完整组合,再按自己的接口改字段名与输入类型。

    graphql 片段用法是什么?

    先用 fragment 片段名 on 类型 { 字段 } 定义一组可复用字段,再在选择集里写 ...片段名 引用。页面勾选「具名片段」后会同时生成定义与引用,并校验片段名是否合法。

    graphql 变量定义放在哪里?

    放在操作名后面的圆括号里,可以带默认值与非空标记;变量值不属于查询文档,需要在请求里单独传一个 JSON 对象。页面把两处分开编辑,并分别校验格式。

    查询语句里的括号怎么校验?

    页面分别统计大括号与圆括号是否成对,并忽略字符串内部的括号字符,避免把字符串内容误判成语法括号;不配对时校验栏会标红并提示数量差。

    特殊字符会被转义吗?

    操作名、根字段、别名与片段名按 GraphQL 标识符规则校验,非法字符直接拦下并提示;自定义字段同样校验,生成的文本不会拼接未转义的标签或脚本。

    💬 留言板 0

    全部留言需审核通过后展示
    💬

    还没有留言,来抢沙发吧!

    ✍️ 说点什么
    0 / 500
    图形验证码
    👣 做完这一步,顺便看看
    🧰 乱码修复 / 文本编码转换 在线乱码修复工具:上传乱码文本文件或粘贴乱码字符串,用 UT… → 💻 假装工作模拟器 老板走近工位的一瞬间,点一下就能从摸鱼切回正经工作界面。代码… → 🧰 IP / 子网掩码计算器 在线子网计算器:输入 IP 地址与掩码(CIDR 前缀或点分… → ⏰ 下班倒计时 打工人专属下班计算器:实时倒计时、进度环、已上班时长、加班时… →
    全部工具 →