本节重点不是"再学一次怎么发请求",而是理解
Postman在真实开发中的进阶能力:环境变量、代码生成、代理、监控、Flows、JSON 格式化、鉴权配置,以及 CLI 运行集合。
Postman 早已不只是一个"发 HTTP 请求的工具",它目前已经形成了一整套 API 协作生态,常见能力包括:
Collection(接口集合)Environment(环境)与变量Mock ServerMonitor 做定时监控Flows 进行图形化流程编排Collection 之上Send,而是要会组织"环境 + 集合 + 脚本 + 监控"Collection 识别成了 Connection,整理时已统一修正为 Collection在不同环境中,请求地址、Token、用户信息、接口前缀通常都不一样,这时就应该使用变量来统一管理。
Postman 中常见变量范围包括:
Global variables:全局变量,所有工作区都可能用到Environment variables:环境变量,适合区分开发、测试、生产环境Collection variables:集合变量,适合某一组接口共享使用Local variables:局部变量,通常用于脚本执行过程中的临时值变量在请求中通常使用双大括号引用:
{{baseUrl}}例如把本地服务地址抽成变量:
{{baseUrl}}/db当 baseUrl = http://localhost:3000 时,实际发送的请求就是:
http://localhost:3000/dbGET {{baseUrl}}/api/courses
Authorization: Bearer {{token}}{{baseUrl}}:用来切换不同环境下的服务地址{{token}}:用来切换不同登录态或用户身份baseUrl、token、userId 这类值放到环境变量中统一维护dev、test、prod 分别建立独立环境baseUrl、apiPrefix、tokenPostman 提供了 Code 功能,可以把当前请求转换成不同语言或工具的调用代码,例如:
cURLJavaScript - fetchNode.js - AxiosPython - requestsGo - nativeJava - OkHttp这个功能非常适合:
curl 命令用于终端排查假设当前请求是:
GET {{baseUrl}}/api/courses它可能被转换为:
curl --location '{{baseUrl}}/api/courses'也可能被转换为:
fetch("{{baseUrl}}/api/courses", {
method: "GET"
});在某些网络环境下,你可能需要通过代理访问接口,例如:
Postman 支持使用:
可以在 Settings 中配置代理策略,常见方式是:
process 实际应为 proxyMonitor 是 Postman 的定时任务能力,可以定期运行某个 Collection,并生成结果报告,用来观察接口是否可用。
它常用于:
创建 Monitor 时,通常要配置:
Monitor nameCollectionEnvironmentCollectionMonitor假设某个集合里有如下测试断言:
pm.test("状态码应为 200", function () {
pm.response.to.have.status(200);
});只要定时任务运行该请求,失败时就能在报告里看到断言失败结果。
pm.test(...):定义测试用例pm.response.to.have.status(200):断言响应状态码必须为 200Postman Flows 是一种图形化流程工具,可以把请求、条件判断、变量处理、数据流转连接起来,实现低代码式自动化编排。
它很像“接口测试版的流程图”或“可视化自动化脚本编排工具”。
Flows 中常见块包括:
视频中提到 FQL condition,这里指的是 Flows 使用的表达式 / 条件能力。你不一定要把所有函数记住,因为:
下面是一个简单的流程逻辑:
请求课程接口 -> 判断 data 是否为空 ->
为空:输出“暂无课程”
不为空:继续请求课程详情如果用条件表达,其本质可能接近:
count(data) > 0sleeps 实际应为 snippets 或示例模板语义,表示“常用条件片段 / 模板”在调试接口时,经常会遇到很长的一段 JSON,如果没有格式化,阅读成本非常高。Postman 提供了格式化展示能力,便于:
原始 JSON:
{"code":0,"data":{"name":"前端课程","tags":["js","ts","react"]}}格式化后:
{
"code": 0,
"data": {
"name": "前端课程",
"tags": [
"js",
"ts",
"react"
]
}
}beauty 实际应为 Beautify 或界面中的格式化能力很多接口都要求认证,Postman 在 Authorization 面板中提供了常见认证方式,避免你每次都手写请求头。
常见类型包括:
Bearer TokenBasic AuthAPI KeyOAuth 2.0JWT BearerDigest Auth如果你使用 Bearer Token,本质上等价于:
Authorization: Bearer {{token}}相比手动在 Headers 中一个字一个字写:
betoken 实际应为 Bearer Token除了界面操作,Postman 还支持:
前置脚本示例:
pm.environment.set("timestamp", Date.now());测试脚本示例:
pm.test("返回值包含 data 字段", function () {
const jsonData = pm.response.json();
pm.expect(jsonData).to.have.property("data");
});pm.environment.set(...):把一个值写入当前环境变量pm.response.json():把响应体解析成 JSONpm.expect(...):对返回结果做断言“通过 CLI 运行 collection 集合”,这个方向是正确的,但要注意区分两个概念:
Postman CLI
Newman
CRI 实际应为 CLIdev 和 test 两个环境,并用 {{baseUrl}} 切换同一组接口。curl、fetch、axios 三种代码片段对比差异。Monitor。Flows 设计一个“登录 -> 获取课程列表 -> 判断列表是否为空”的流程。Authorization 面板配置方式。