Postcat 是一个强大的开源、跨平台(Windows、Mac、Linux、Browsers...)的 API 开发测试工具,支持 REST、Websocket 等协议(支持 GraphQL、gRPC、TCP、UDP),帮助你加速完成 API 开发和测试工作。
Postcat 设计了一个强大的插件系统,让你一键使用其他人开发好的插件来增强 Postcat 的功能,或者自行开发 Postcat 插件,Postcat 理论上是一个拥有无限可能的 API 产品。
Postcat 现在已经支持 Windows、Mac、Linux 等系统,你可以通过以下地址访问并下载,同时我们也提供了 Web 端,方便你在任何浏览器上使用。
Postcat官网(web端使用):postcat.com
API 开发完成后,需通过调用接口测试其表现,当结果符合预期时,接口方可投入使用,测试过程中,状态码、响应体、响应时间是核心关注数据,Postcat 会清晰展示这些信息,帮助你判断 API 是否正常。
开始测试前,需先填写测试数据,可点击标签页的加号新建测试标签页,也能通过点击分组 API 的闪电图标,快速对某个 API 发起测试。
Postcat 支持多种请求参数配置,满足不同 API 需求:
请求头部:可手动输入,也能批量导入。批量导入数据格式为 key : value,一行一条 header 信息,例如:
Connection: keep-alive
Content-Encoding: gzip
Content-Type: application/json
Date: Mon, 30 Dec 2019 20:49:45 GMT
请求体:提供 Form-data(表单)、JSON、XML、Raw(自定义文本类型数据)四种格式,选择对应格式后点击测试按钮即可发送请求。若需测试文件上传,选中请求体为 Form-data,将参数类型切换到 file,点击选择文件就能发起文件测试。
Query 参数:指地址栏中跟在问号“?”后面的参数,如 /user/login?user_name=jackliu 中的 user_name。批量导入数据格式为 ?key=value...,多个参数用“&”分隔,例如:api.eolinker.com/user/login?user_name=jackliu&user_password=hello。值得注意的是,API Path 中若填写了 Query 参数,Postcat 会自动同步到 Query 参数表格。
REST 参数:指地址栏被斜杠“/”分隔、用大括号“{}”包裹的参数,如 /user/login/{user_name}/{user_password} 中的 user_name 和 user_password。配置时,只需在 URL 中用“{}”括起 REST 参数,表单参数名无需填写“{}”。
发送请求后,Postcat 会展示返回结果,包括状态码、响应体、响应时间、内容大小等信息。以 GET 获取城市今日天气接口为例,请求地址为 http://www.weather.com.cn/data/cityinfo/{cityCode}.html,参数 cityCode 设为 101010100 时,返回结果可能如下:
• 状态码:200
• 响应体(JSON 格式):
{
"weatherinfo": {
"city": "北京",
"cityid": "101010103",
"temp1": "18℃",
"temp2": "28℃",
"weather": "晴",
"img1": "n1.gif",
"img2": "d2.gif",
"ptime": "18:08"
}
}
• 响应信息:Size: 0.16KB,Time: 1047.16ms
点击“测试历史”,能回溯过往测试的所有 API 请求信息,包括测试时间、请求地址、返回状态、请求时长等,方便快速回归测试。
日常在浏览器中查看的 API 请求信息,可在 Postcat 中找到对应模块,下划线颜色相同代表相同模块,具体对照如下:
| 浏览器中的 API 请求信息 | Postcat 对应模块 |
|---|---|
| Headers、协议、请求地址、路径、Cookies、Query 参数 | 请求头部、请求地址、Query 参数、REST 参数等 |
| Request URL、Request Method | API 信息中的请求地址、请求方式 |
| Status Code、Response Headers、Request Headers | 返回结果中的状态码、返回头部、请求头部 |
在新增 API 接口前,需先明确三个关键问题:请求协议是否为 HTTP/HTTPS、请求体和响应体格式是什么(XML、JSON、FormData、Raw)、API 是否为 RESTful 风格。明确后,即可开始编辑 API 文档,主要包含 API 信息、请求参数、响应内容三部分。
在编辑 API 顶部区域,填写 API 的核心信息:
• 协议:支持 HTTP/HTTPS
• 请求方式:支持 GET、POST、PUT、DELETE、HEAD、OPTIONS、PATCH
• 地址:填写 API 的请求 URL,如 http://www.weather.com.cn/data/cityinfo/{cityCode}.html
• 名称:为 API 命名,便于识别,如“获取城市今日天气”
与 API 测试中的请求参数配置逻辑一致,包含请求头部、请求体、Query 参数、REST 参数,具体配置方式可参考“API 测试”部分。
响应内容用于定义 API 返回的信息格式,方便开发与测试人员了解接口返回结构:
响应头部:可手动输入或批量导入,批量导入格式与请求头部一致,为 key : value 形式。
响应内容:提供 JSON、XML、Raw 三种格式,编写方式与请求参数类似。以 JSON 格式为例,可定义参数名、类型、必填项、说明等,例如定义“获取城市今日天气”接口的响应内容:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| weatherinfo | object | - | 天气信息对象 |
| city | string | 是 | 城市名称 |
| cityid | string | - | 城市 ID |
| temp1 | string | - | 最低温度 |
| temp2 | string | - | 当日最高温度 |
| weather | string | - | 天气状况 |
| img1 | string | - | 天气图标 1 |
| img2 | string | - | 天气图标 2 |
| ptime | string | - | 发布时间 |
全局变量能在测试过程中动态取值和赋值,在请求信息中,可通过双花括号或代码引用全局变量,例如在请求地址中使用 {{param_key}} 引用名为 param_key 的全局变量。
• 不依赖于环境,即使未选择环境也能使用。
• 仅储存在客户端中,清除浏览器缓存时,自定义全局变量会被一并清除。
• 点击页面右上角“预览环境”按钮,可查看当前自定义全局变量的值。
在前置脚本或后置脚本中,可通过代码对全局变量进行操作,支持获取、赋值、清除单个变量、清除所有变量四种操作,具体代码如下:
// 获取某个全局变量的值
pc.globals.get("variable_key");
// 为某个全局变量赋值(值的类型只能是 string、number、bool,其他类型会报错)
pc.globals.set("variable_key", "variable_value");
// 清除某个全局变量
pc.globals.unset("variable_key");
// 清除所有全局变量
pc.globals.clear();
Mock 是模拟真实 API 请求的方式,在文档定义好后,不依赖后端环境就能开发,单元测试时也能不耦合其余服务执行测试,广泛用于对接和测试场景。
在 Postcat 列表中找到目标 API,点击“Mock”标签,系统会自动创建默认 Mock 地址。例如,某 POST JSON 类型 API 的 Mock 地址可能为 http://127.0.0.1:3040/mock/JSON。
将代码中的代理地址或实际请求地址改为 Mock 地址,发送请求后,Mock 服务会返回模拟数据。以某 POST JSON 接口为例,请求 Mock 地址后,返回结果可能如下:
• 状态码:200
• 响应体(JSON 格式):
{
"string": "string",
"array": {
"dom1": "default_value",
"dom2": "default_value",
"dom3": "default_value"
},
"object": {}
}
• 响应信息:Size: 0.21KB,Time: 7.28ms
通过 Mock 地址,开发人员能在后端接口未完成时,基于模拟数据推进前端开发,测试人员也能提前开展接口测试,提升整体开发效率。
PowerPoint演示文稿智能生成工具 PowerPoint Slides Skill
金融 AI 新工具 FinClaw,免费提供1000+ 金融专属Skills
PPT Agent 演示文稿生成框架
端到端自主AI科研引擎 NanoResearch
CitationClaw 学术论文智能引用画像和分析报告
pi-autoresearch:pi自动化实验优化循环
OpenClaw Control Center:为OpenClaw用户(包括团队和个人)提供统一的监控和管理界面
OpenClaw Dashboard 仪表盘:让OpenClaw管理更简单
PaperBanana-CN 学术配图助手
996.ICU:工作 996, 生病 ICU