2. HTTP 请求头简介
在动手实现前,先快速回顾下 HTTP 请求头的基础知识。HTTP 请求头是客户端与服务器通信时传递附加信息的键值对字段,可附加在请求和响应中。常见用途包括:
- 身份验证(如
Authorization
) - 内容类型声明(如
Content-Type
) - Cookie 传递
示例格式:
Authorization: Bearer YmFyIiwiaWF0IjoxN;
Content-Type: application/json;
Cookie: foo=bar;
本文核心思路:通过 Postman 的预请求脚本执行 JavaScript 代码动态设置请求头
3. 搭建测试环境
我们使用一个现成的 Spring Boot 项目 spring-boot-json
作为演示后端。该项目包含一个 StudentController
接口,提供学生模型的 CRUD 操作。
启动步骤:
- 执行 Maven
install
命令安装依赖 - 运行
SpringBootStudentsApplication
主类 - 确认 Tomcat 服务器运行在 8080 端口
验证服务可用性:
- 向接口
http://localhost:8080/students/
发送 GET 请求 - 预期返回 JSON 格式数据
服务就绪后,即可通过 Postman 脚本自动添加请求头
4. 使用预请求脚本添加请求头
Postman 提供了 pm
JavaScript API 对象操作请求数据。通过 pm.request
对象可以:
- 添加请求头
- 修改现有请求头
- 删除请求头
4.1 为单个请求添加
基础语法:
// 字符串格式
pm.request.headers.add("foo: bar");
// 对象格式(推荐)
pm.request.headers.add({
key: "foo",
value: "bar"
});
实战演示:
在请求的「Pre-request Script」标签页添加脚本:
pm.request.headers.add({ key: "Accept", value: "application/json" });
发送请求后,打开控制台(左下角 Console 按钮)
展开「Request Headers」验证结果:
Accept: application/json
踩坑验证: 若故意设置不兼容的请求头:
pm.request.headers.add({
key: "Accept",
value: "image/*"
});
将返回 406 Not Acceptable
状态码,证明脚本生效。
4.2 为整个集合添加
适用场景:当需要为集合内所有请求统一添加请求头时。
操作步骤:
- 创建「Student API Collection」集合
- 添加测试接口(如
/students/
和/students/2
) - 在集合的「Pre-request Script」标签页添加脚本:
pm.request.headers.add({ key: "Accept", value: "application/json" });
执行验证:
- 确保已移除单个请求中的脚本(避免覆盖集合级脚本)
- 点击集合的「Run」按钮启动 Collection Runner
- 在 Runner 界面点击「Run Student API Collection」
- 执行后检查控制台:
- 所有请求均包含
Accept: application/json
- 状态码和响应体验证请求成功
- 所有请求均包含
5. 总结
本文通过 Postman 的预请求脚本功能,实现了两种维度的请求头自动添加:
- 单个请求级:适合特殊需求的定制化请求头
- 集合级:适合批量管理统一请求头
核心要点:
- 使用
pm.request.headers.add()
方法 - 优先选择对象参数格式(可扩展更多属性)
- 集合级脚本需注意优先级问题
提示:更复杂的脚本逻辑(如动态 token 生成)可参考 Postman 官方文档。本文示例代码已上传至 GitHub 仓库。