思路
用 Postman 的 Tests(测试脚本) 从登录接口的响应里提取 token,存进环境变量(Environment Variable),然后在其他请求的 Headers 里引用这个变量即可,无需每次手动复制粘贴。
步骤
1. 在登录请求的 Tests 标签页写脚本
打开你的登录接口请求 → 点击 Tests(新版 Postman 叫 Post-response)→ 写入:
// 解析响应体
const res = pm.response.json();
if (res.success && res.data && res.data.token) {
// 存入环境变量(推荐)
pm.environment.set("token", res.data.token);
console.log("Token 已保存:", res.data.token);
} else {
console.warn("登录失败或未拿到 token", res);
}
如果你没有建 Environment,也可以用
pm.globals.set("token", res.data.token)存全局变量,效果类似,但 Environment 更规范(不同环境/账号互不干扰)。
2. 确认 Environment 已选中
右上角环境下拉框,选中你正在用的那个 Environment(哪怕是空的也要建一个并选中),否则 pm.environment.set 不会生效。
3. 在其它请求里引用这个变量
在需要携带 token 的请求上:
方式 A:手动在 Headers 里加
| Key | Value |
|---|---|
Authorization |
{{token}} |
或者如果后端要求带 Bearer 前缀:
Authorization: Bearer {{token}}
具体 header 名(Authorization、Token、X-Token 等)要和你后端拦截器实际读取的 header 名一致——从你贴的 AuthService 代码看,它内部没有体现具体是从哪个 header 读 token 的(是在 Controller/拦截器层做的),需要你确认一下实际接口用的 header 名。
方式 B:在 Authorization 标签页配置(更推荐,管理更清晰)
– 请求的 Authorization 标签页 → Type 选 API Key 或 Bearer Token
– Key 填 token(或你后端真实的 header 名),Value 填 {{token}}
– Add to 选 Header
4. 让整个 Collection 都自动带上 token(一次配置,全局生效)
不想每个请求都单独配置的话:
- 点击 Collection 名称 →
Edit→Authorization标签页 - Type 选
API Key - Key:
Authorization(或你的实际 header 名),Value:{{token}},Add to:Header - 保存
之后 Collection 下所有请求,只要它们自己的 Authorization 设置成 Inherit auth from parent(这是新建请求的默认值),就会自动带上 {{token}},不需要逐个配置。
效果
- 先跑一次登录请求 → Tests 脚本自动把 token 存进环境变量
- 后续所有请求(配置了
Inherit auth from parent或手动写了{{token}}的)都会自动带上最新的 token - 重新登录一次,变量自动更新,无需手动复制