DevTools 中的 GraphQL 面板:页面发送的每个操作及其变量、响应、错误和标头
GraphQL 开发者工具向 Chrome DevTools 添加了一个 GraphQL 选项卡 - 网络面板缩小到 GraphQL,其中包含您实际查看的部分。
每个操作一行:操作名称(或匿名查询的第一个字段)、类型(查询/突变/订阅/持久)、带有 GraphQL 错误数量、大小、时间和 URL 的 HTTP 状态。失败的行(HTTP 错误或响应中的“错误”数组)为红色。单击某一列进行排序;计数器对视图中的行进行求和。
选择一行查看:
• 查询 — 具有语法颜色的文档,在客户端发送时打印得很漂亮(“发送时”显示原始内容),变量和扩展位于其下方。在具有相同哈希值的另一个请求中看到其文档的持久查询(Apollo 的 APQ 重试)会显示该文档。
• 响应 — 打印精美的 JSON,错误消息位于顶部
• 标头 — URL、方法、状态、计时阶段、服务器计时、大小、请求和响应标头、“复制为 cURL”
重新发送再次从页面发送相同的请求(带有 cookie 和标头),并且答案作为新行到达;编辑和重新发送允许您首先更改文档或变量(突变要求两次)。每个块都有一个复制按钮。查询和 JSON 折叠:每个多行括号上都有一个三角形,折叠的三角形显示它隐藏了多少个键或项目,- / + 折叠或展开整个视图。
按操作名称、URL 或变量中的值、操作类型或仅错误进行过滤; Group 将重复的操作折叠成一行,并包含计数、错误、总大小和平均时间——这是发现 N+1 的最快方法;清除;跨导航保留日志。箭头键移动选择,Cmd/Ctrl+F 聚焦过滤器。该面板一显示,就会显示自打开 DevTools 以来记录的请求。光明与黑暗,遵循 DevTools 主题。
识别的请求形状:带有“查询”的 JSON 正文(无论 Content-Type 是什么)、批处理(一个 JSON 数组 — 每个操作一行)、在 URL 中包含查询的 GET、application/graphql、表单编码和分段上传(“操作”字段)以及持久查询 — Apollo 的 extensions.persistedQuery.sha256Hash、Relay 文档 ids、Instagram / Facebook doc_id 和 query_hash、GitHub 的和 X 自己的格式 - 按其操作名称列出。
隐私:面板仅在 DevTools 打开时通过 DevTools 网络 API 读取请求,并将其显示在 DevTools 窗口中。它引起的唯一请求是您通过重新发送请求的请求,由页面本身发出。它自己不发出网络请求,不收集任何信息——不分析、不遥测、不账户——并且不请求任何权限。隐私政策:https://github.com/s12v/graphql-devtools/blob/master/PRIVACY.md
开源 (MIT):https://github.com/s12v/graphql-devtools — 无依赖项,无构建步骤,34 KB。 Firefox 版本位于发布页面上。
1.3版本:分组重复运算;重新发送和编辑并重新发送。
版本 1.2:漂亮打印的查询;持久化查询从 APQ 重试中了解其文档;排序、类型过滤、错误过滤、总计;计时阶段和服务器计时; GitHub 和 X 请求格式。
版本 1.1:折叠查询、变量和响应视图;火狐构建。
版本 1.0:Manifest V3 的重写。批量、GET、多部分和持久查询;表中的操作名称和错误计数;黑暗主题;过滤、清除和保留日志;复制按钮;复制为 cURL。





