跳转到内容
返回首页
返回博客
Tutorial

在 Android 上测试 API:口袋里的完整 REST、GraphQL 与 WebSocket 客户端

在你的 Android 手机上测试和调试 REST、WebSocket、GraphQL 与 SSE API。 PocketCode 内置完整的 HTTP 客户端——认证、脚本、环境、Mock Server 与代码生成——全部集成在 IDE 中。

3 min
作者 Pelayo Naredo
在 Android 上测试 API:口袋里的完整 REST、GraphQL 与 WebSocket 客户端

API 总在最糟糕的时刻出问题:你不在电脑前,webhook 没有触发,而装着 Postman 的 笔记本又在家里。在 Android 上,通常的答案是"等回去再说"。PocketCode 消除了这段 等待——它内置了一个完整的 HTTP 客户端,让你无需第二个应用、也不用写一行胶水 代码,就能在手机上测试和调试 REST API。

这不是一个功能缩水的玩具。它是一个完整、专业级的 HTTP 客户端,就在你的编辑器、 终端和数据库管理器旁边。

它究竟能做什么

API Tester 支持四种协议,可通过编辑器上方的一个标签芯片 切换:

协议用途
REST (HTTP)经典的请求/响应客户端——8 种方法
WebSocket实时双向连接(ws:// / wss://
GraphQL查询、变更、订阅 + schema 内省
SSE实时的 Server-Sent Events 流

对于 REST,它覆盖全部八种 HTTP 方法——GET、POST、PUT、PATCH、DELETE、HEAD、 OPTIONS 和 TRACE——每种都有专属配色,让你一眼扫过一个集合就能识别。

构建一个请求

请求编辑器由一个固定的 URL 栏加上一组可折叠的区块组成, 每个区块都有自己的强调色:

  • URL 栏 —— 方法选择器、一个等宽字体的 URL 输入框,以及一个发送按钮,请求 进行中时会显示旋转指示器。
  • Params —— 一个键/值编辑器,每一行都有启用/禁用的复选框和一个活动数量徽章, 这样你可以在不删除查询参数的情况下切换它们。
  • Headers —— 同样的键/值编辑器,带有常见请求头的自动补全(Content-Type、 Accept、Authorization、Cache-Control、User-Agent……)。
  • Body —— 十种 body 类型:JSON(带美化 / 压缩)、Form URL-Encoded、 Multipart(每个字段可选 TEXT 或 FILE,配有文件选择器)、Raw、XML、HTML、 JavaScript、Binary(发送原始文件)和 GraphQL。

任何可以输入值的地方——URL、请求头、body、认证、cookie——你都可以放入一个 {{variable}},它会在发送时被插值替换(下面会详细说明)。

认证,完整清单

这正是移动端 API 客户端通常力不从心的地方。PocketCode 支持十种认证方案,分为 常用卡片和一个高级区块:

  • 常用: None、Bearer(token + 自定义前缀)、BasicAPI Key (可选放在 Header 或 Query Param 中)。
  • 高级: OAuth2(Authorization Code、Client Credentials、Password 或 Implicit 授权类型)、DigestAWS Signature v4(access key、secret、 region、service、session token)、HawkNTLM,以及一个完全自定义 的请求头。

如果你需要对 AWS 请求签名,或访问企业级 NTLM 端点,都可以在手机上完成——毫不 妥协。

脚本与测试

每个请求前后各运行一个 JavaScript 钩子:

  • **预请求脚本(pre-request script)**在发送之前运行——转换变量、计算时间戳、 生成签名。
  • **测试脚本(test script)**在收到响应之后运行,使用广泛采用的 pm.testpm.expectpm.response 断言 API。

有一个现成断言的菜单,这样你就不必手写它们:status is 200status is 2xxresponse time < 500 mshas JSON bodybody not emptyhas Content-Type headerJSON schema validationbody contains stringarray length > 0。 编辑器下方的控制台面板会以 LOG / INFO / WARN / ERROR 级别记录所有内容。

读取响应

响应面板在顶部给出最重要的数字——状态码(按范围配色)、以毫秒计的总耗时、body 大小,以及协商出的协议和远程 IP。下方是各个标签页:

标签页你能看到什么
BodyPretty(格式化后的 JSON/XML/HTML)、Raw、Preview(渲染后的 HTML),以及一个可折叠的 JSON Tree 视图
Headers一个便于复制的表格
Cookies带有 Secure / HttpOnly 徽章的行
TimelineDNS · TCP · TLS · TTFB · 内容传输
Tests断言结果(名称、通过/失败、耗时)
Info元数据和完整的重定向链

你可以复制 body、分享它、保存它,或在其内部搜索并高亮匹配项——在小屏幕上很实用。

超越 REST

  • WebSocket 连接会以聊天式的历史记录显示 SENT / RECEIVED 消息,支持自定义 握手请求头和子协议,处理 TEXT / BINARY / PING / PONG / CLOSE 帧,并提供 自动重连以及可再次发送的已保存消息模板。
  • GraphQL 提供一个带 JSON 变量和可选操作名的查询编辑器、一个运行内省的 Fetch Schema 按钮,以及一个用于查看类型、字段和参数的 schema 浏览器。
  • SSE 流会进入一个实时事件时间线(id、type、data、timestamp、retry),带有 过滤器、遵循服务器 retry 的自动重连,以及用于恢复流的 Last-Event-ID 追踪。

保持井然有序

  • **集合(Collections)**是分层的——集合 → 嵌套文件夹 → 请求——支持搜索、 重命名/删除,以及点击一下即可把任意请求重新载入编辑器。
  • **历史(History)**保存你运行过的每一个请求,可按 URL 或名称搜索,按方法或 "仅加星标"筛选,并按今天 / 昨天 / 本周 / 更早分组。可为单条记录加星、重新发送 或删除。
  • 环境(Environments)管理 {{variable}} 集合。每个变量都有初始值和当前值、 一个描述、一个启用开关、一个隐藏值的 isSecret 标志,以及一个作用域 (Global / Environment / Collection / Local)。解析顺序为 Local → Collection → Environment → Global。
  • 一个持久化的 cookie jar 会从每个 Set-Cookie 自动填充自身,并显示 Secure / HttpOnly 徽章。

强力工具

  • 从 cURL、Postman v2.1、Insomnia、OpenAPI 3.0 / Swagger(JSON 或 YAML)和 HAR 导入导出在此清单基础上再加上 Markdown。
  • 代码生成器把当前请求转换为可直接粘贴的代码,覆盖约 20 种语言和 HTTP 客户端——cURL、HTTPie、Wget、Fetch、Axios、Node、Python requests、Java OkHttp、Swift URLSession、Go net/http、PHP、Ruby、C#、Rust、Dart、PowerShell 等等——包含导入语句、请求头、body 和认证。
  • 一个本地 Mock Server(Pro 套餐的一部分)会在设备上启动一个 HTTP 服务器 (默认端口 8090),每条路由定义一个方法、路径模式(/users/:id)、状态、 请求头、body 和一个模拟延迟——并配有一份实时的传入调用日志。

你的数据留在设备上

集合、历史、环境和 cookie 都存储在你手机上的本地数据库中——我们绝不会把你的 请求或连接数据保存在我们的服务器上。在开发时,你可以为自签名证书关闭 SSL 验证、 通过 HTTP/HTTPS/SOCKS 代理转发,或附加一个客户端证书。而且因为它是 IDE 的一部分, 当你向 AI 助手询问你的 API 时,它甚至能看到你的集合。


测试一个 API 曾经意味着"回到电脑前"。现在不再如此。PocketCode 把一个专业级的 HTTP 客户端——REST、WebSocket、GraphQL 和 SSE——放进了你编写并发布代码的同一个 应用里。

PocketCode 即将登陆 Google Play。加入预注册,成为第一批 在自己设备上试用它的人。

本文背后的工具

API 测试器

关于这个的快速解答

准备好试用 PocketCode 了吗?

下载应用,开始用手机编程。