更多探险者功能
了解响应数据表格布局、文件上传等
显示
暗黑模式
💡 提示
从探险者设置标签页切换亮色和暗色模式。
响应数据表格布局
💡 提示
从探险者响应面板顶部切换表格和JSON布局。
您可以看到一个操作's响应作为JSON或表格。表格布局当您的响应包括一个数组时尤其有用,或者当您想与不熟悉JSON的人分享一个查询's结果时。
在表格模式下查看数据数组时,您可以点击任一列的标题来根据该列的值对该数组进行排序。
内联和提取片段
💡 提示
右键单击任何 片段名称,将该片段内联到其使用的查询中。右键单击任何 字段的选择,将这些字段提取到一个片段中。
在编辑您的 操作时,您现在可以一键内联和提取 片段。当尝试使用片段在多个地方选择相同的 字段 时,或在尝试将片段内联到单个操作中以在其他地方使用时,这非常有用。
内联和提取变量
💡 提示
单击编辑器中一个 操作 旁边的 "..." 菜单,选择 变量的表示法。
在编辑您的 操作 时,您可以在内联表示法和提取表示法之间切换 变量 。当您想切换表示法以复制并粘贴某些内容时,或者在编辑器中草拟查询并将其移动到代码中时,这非常有用。
内联变量
query {user(id: "Beth Harmon") {name}}
提取的变量
query ($id: ID!) {user(id: $id) {name}}
{"id": "Beth Harmon"}
文件上传
资源管理器支持文件上传,支持GraphQL 多部分请求规范。要运行需要文件作为输入的操作,请点击资源管理器底部+ 添加文件,在资源管理器的变量标签页上。
然后您可以设置变量的名称并选择要上传的文件。请注意,如果您操作支持通过单个变量提供多个文件,您需要选择该变量的切换选项来启用多文件协议。
本地开发
您可以使用资源管理器进行本地开发,方法是在沙箱处打开。
与已部署的图不同,沙箱使用 introspection来从您的开发服务器获取您的模式,并且它还会定期轮询更改。只要检测到模式更改,就会自动拉入。
您可以在任何时间暂停introspection轮询。为此,打开左侧的资源管理器设置选项卡并编辑您的连接设置。在对话框中,关闭自动更新。
超级图
超级图的查询计划
如果你在 Studio 中使用一个 超级图,则探索器会动态计算右侧面板中你的操作的示例 查询计划。你可以通过点击 响应 并选择 查询计划预览 来切换查看查询计划而不是请求响应。
示例 查询计划可能看起来像这样:
QueryPlan {Parallel {Fetch(service: "locations") {{locations {idname}}},Fetch(service: "reviews") {{latestReviews {idcomment}}},},}
💡 提示
如果没有看到 查询计划预览 选项,请确保您使用的是完整的探索器版本,而不是 Apollo 沙盒。还请确保您正在使用超级图 与探索器一起使用。
当你编辑一个 操作 时,探索器将相应地重新计算其示例 查询计划。
ⓘ 注意
探索器可能不会使用与你的 路由器 相同的 查询计划 编排逻辑!示例查询计划帮助你理解你的 操作,但它并不旨在提供真实来源。
查询计划有两种显示模式。您可以通过点击 查询计划预览 旁边的图标来在 以文本显示计划 和 以图表显示计划 之间切换。
嵌入
如果您已经启用了对您的图 变体的公共访问权限,您可以将探索器嵌入到网页中,然后提供该网页作为您图的消费者的访问。这使消费者能够从您自己的网站上测试操作。
请参阅 嵌入探索器。
保存操作
操作历史记录
💡 提示
从探索器的 运行历史记录 选项卡中查看您的 操作 历史记录。
探索器将您最近运行的 操作(以及这些操作的变量值)的历史记录保存到浏览器的本地存储。访问您的历史记录以保留和恢复以前的工作,而不会让您编辑器杂乱无章。
下载响应
您可以通过按钮复制您的 操作 的响应,或将任何给定响应下载到本地的 JSON 文件。
如果您正在以 表格布局 查看您的数据,您还将能够将您的响应中的数组下载到 CSV 文件中。
测试操作
追踪
💡 提示
从探索器的 设置 选项卡中启用 内联追踪。
如果您正在使用 Apollo 服务器,您可以通过添加到您的服务器配置中的 ApolloServerPluginInlineTrace
插件来在探索器中看到响应中的追踪信息:
import {ApolloServerPluginInlineTrace} from '@apollo/server/plugin/inlineTrace';const server = new ApolloServer({typeDefs,resolvers,plugins: [ApolloServerPluginInlineTrace()]});
在资源管理器的设置中打开内联跟踪功能, tell 资源管理器将向您的服务器发送一个特殊标题,请求它返回跟踪信息及其响应。
模拟响应
💡 提示
在资源管理器的设置标签中启用 模拟响应。
该功能简单地将 操作 响应模拟,而不是将您的操作通过网络发送到端点。
当端点不可用或您需要快速响应以用于代码示例或单元测试时,模拟响应非常有用。
响应提示
💡 提示
在资源管理器的设置标签中启用 使用响应提示。
当您构建 查询 时,资源管理器会在幕后运行部分查询并显示其结果。当您想要了解完整的 操作 响应中返回的数据时,这很有用。它还可以帮助您在不点击运行按钮的情况下快速得到查询的答案。
资源管理器不显示 突变 的响应提示(这需要运行部分突变,这是不安全的)。
默认标题
💡 提示
在资源管理器的设置标签中设置 默认标题。
⚠️ 注意
不要使用 默认标题 提供敏感信息,例如访问令牌。相反,使用 环境变量
您可以指定默认标题,该标题将应用于您的组织中的每个用户执行的每个资源管理器请求。如果您想要向来自资源管理器的请求提供一致的标识符,则这可能很有用。
字段延迟提示
作为 响应提示 的替代方案,资源管理器可以向您显示 查询 中 字段的延迟提示。此选项仅在您已配置您的图以向 Studio 报告字段使用情况和跟踪数据。
资源管理器向您显示您 查询 中 字段的95百分比(默认)响应时间,以帮助您了解您的查询有多“昂贵”,并确定响应时间的瓶颈。您可以在资源管理器设置中随时更改您想要查看提示的百分比。
graphql-lodash
集成
The Explorer 通过 graphql-lodash
扩展您的模式 在客户端,因此您可以编写包括 lodash 指令 的查询,它们将正确解析。如果您想将响应数据操作成特定的格式以便导出,或者您想进行快速分析而不需要导出,这将很有帮助。
以下是一个使用 graphql-lodash
的查询示例。您可以将此粘贴到 Explorer 沙盒:
query StarWarsGenderStats {genderStats: allPeople @_(get: "edges") {edges @_(countBy: "node.gender") {node {gender}}}}
常见问题解答(FAQ)
Explorer 是否支持本地部署?
目前 Explorer 不支持下载或本地托管。但是,您可以在自己的内部网站上嵌入 Apollo 托管的 Explorer。有关详情,请参见 嵌入 Explorer。
我的 Explorer 操作是否通过 Apollo 系统?
不是的。您在 Explorer 中运行的操作直接从您的浏览器发送到您的 GraphQL 端点,中间不会通过任何 Apollo 系统。Apollo 从不会看到您的请求数据或响应数据。有关更多信息,请参见 GraphOS Studio 数据隐私和合规性。