Altair:跨环境 GraphQL 探索与本地状态治理
先选对运行入口
Altair 提供桌面应用、浏览器扩展和 Web 入口。一次公开 API 探索可以使用 Web;涉及内网 endpoint、代理、客户端证书或敏感响应时优先受管桌面端。浏览器入口受 CORS、Cookie 与扩展权限影响,不能用它的失败直接证明服务不可用。
安装后记录版本、分发来源和本地数据目录。最低验收是向授权测试 endpoint 执行:
query Probe {
__typename
}结果要有顶层 data,并能从响应 Header 或 extensions 关联 request id。没有在线测试环境时导入受控 schema 验证补全,不拿生产写权限账号做安装测试。
Collection 与环境变量是状态容器
Altair 可以保存多个请求、环境与 headers,适合跨服务探索。这些资产可能携带 endpoint、租户、query、variables、token 和响应历史。共享 collection 只保留假数据与变量名,秘密在运行时注入;导出前逐项检查全局、环境与窗口级 Header 继承。
一个可复核请求至少具名:
query OrderSummary($id: ID!) {
order(id: $id) { id status }
}variables 独立使用 JSON。真实 ID 不拼进 query,不把 mutation 与 query 混在同一无名称文档。HTTP 200 仍要同时检查 data、errors 与 errors[].path。
Schema 与 subscription 都有边界
introspection 可刷新文档和补全,但缓存可能落后于环境。遇到字段不存在时,记录 endpoint、schema 更新时间和服务版本;无 introspection 环境使用受控 schema artifact,不建议临时开放生产枚举面。
subscription 会建立长连接,代理、网关 idle timeout、认证刷新与客户端休眠都可能中断。开始前设观察时间和事件上限,结束后确认连接释放。响应历史可能包含持续到达的用户数据,保留策略要比普通 query 更严格。
从探索退出到自动化
稳定 smoke 和回归应迁移到脚本、正式 SDK 或契约测试,不依赖个人窗口状态。mutation 使用隔离租户、最小权限和恢复动作;重试前确认幂等。
停用或更换客户端时,先导出无秘密的 query 清单,再删除 collection、环境、全局 headers、响应历史、扩展/桌面数据和本地证书,撤销相关 token。升级双跑固定 query、错误 query、subscription 与 schema 刷新,异常时恢复安装版本和脱敏备份。
