Postman 是目前最流行的 API 开发与测试工具,支持发送 HTTP 请求、组织测试用例、自动化测试、生成文档等。结合 Spring Boot 后端服务,可高效完成接口调试与集成验证。
一、核心概念
概念 | 说明 |
---|---|
Postman | 一个用于构建、测试、文档化 API 的协作平台,支持 REST、GraphQL、gRPC 等。 |
Collection(集合) | 将多个请求分组管理,便于组织项目或模块。 |
Request(请求) | 单个 API 调用,包含 URL、方法、参数、Header、Body 等。 |
Environment(环境) | 定义变量(如 {{base_url}} ),实现开发、测试、生产环境切换。 |
Variables(变量) | 支持全局、环境、局部变量,提升复用性。 |
Tests(测试脚本) | 使用 JavaScript 编写断言,实现自动化验证。 |
Runner(集合运行器) | 批量运行多个请求,支持数据驱动测试。 |
Mock Server | 基于 Collection 创建模拟服务,供前端联调使用。 |
Documentation | 自动生成 API 文档并分享给团队成员。 |
二、操作步骤(非常详细,适合新手)
✅ 步骤 1:准备 Spring Boot 后端服务
确保你有一个运行中的 Spring Boot 项目,例如:
@RestController
@RequestMapping("/api/users")
public class UserController {
@GetMapping
public ResponseEntity<List<User>> getAll() {
List<User> users = Arrays.asList(
new User(1L, "张三", "zhangsan@example.com"),
new User(2L, "李四", "lisi@example.com")
);
return ResponseEntity.ok(users);
}
@PostMapping
public ResponseEntity<User> create(@RequestBody User user) {
user.setId(999L);
return ResponseEntity.status(201).body(user);
}
@GetMapping("/{id}")
public ResponseEntity<User> getById(@PathVariable Long id) {
User user = new User(id, "测试用户", "test@example.com");
return ResponseEntity.ok(user);
}
}
启动项目:http://localhost:8080
✅ 步骤 2:安装并登录 Postman
- 访问 https://www.postman.com/downloads/
- 下载并安装 Postman 桌面客户端(推荐)
- 注册/登录账号(支持 Google、GitHub 登录)
💡 登录后可同步数据、共享集合、使用团队协作功能。
✅ 步骤 3:创建第一个请求
3.1 新建 Request
- 点击左上角 “New” → 选择 “Request”
- 输入请求名称:
Get All Users
- 选择或创建一个 Collection(如
User API Test
)
3.2 配置请求
字段 | 值 |
---|---|
Method | GET |
URL | http://localhost:8080/api/users |
点击 Send,你应该看到返回的 JSON 数据:
[
{
"id": 1,
"name": "张三",
"email": "zhangsan@example.com"
},
...
]
✅ 步骤 4:添加环境变量(推荐)
4.1 创建环境
- 点击右上角 眼睛图标 → Add Environment
- 名称:
Development
- 添加变量:
base_url
→http://localhost:8080
version
→v1
点击 Add
4.2 使用变量
修改 URL 为:
{{base_url}}/api/users
再次点击 Send,请求仍能正常工作。
✅ 优势:切换环境时只需更改
base_url
,无需修改每个请求。
✅ 步骤 5:测试 POST 请求(带 Body)
5.1 新建请求
- 名称:
Create User
- 方法:
POST
- URL:
{{base_url}}/api/users
5.2 设置 Body
- 切换到 Body 标签页
- 选择 raw → JSON
输入:
{
"name": "王五",
"email": "wangwu@example.com"
}
点击 Send
✅ 预期响应:状态码 201 Created
,返回创建的用户对象。
✅ 步骤 6:添加 Header(如 Content-Type、Authorization)
示例:添加 JWT 认证
- 切换到 Headers 标签页
- 添加:
- Key:
Authorization
, Value:Bearer eyJhbGciOiJIUzI1NiIs...
- Key:
Content-Type
, Value:application/json
(Postman 通常自动设置)
- Key:
⚠️ 注意:
Content-Type
不要重复设置,否则可能出错。
✅ 步骤 7:编写自动化测试脚本(Tests)
在请求的 Tests 标签页中,添加 JavaScript 断言:
// 检查状态码
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// 检查响应时间
pm.test("Response time is less than 500ms", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});
// 检查响应 JSON 结构
pm.test("Response has name field", function () {
const jsonData = pm.response.json();
pm.expect(jsonData[0]).to.have.property('name');
});
// 检查特定字段值
pm.test("First user name is 张三", function () {
const jsonData = pm.response.json();
pm.expect(jsonData[0].name).to.eql("张三");
});
点击 Send 后,下方会显示测试结果 ✅。
✅ 步骤 8:使用集合运行器批量测试
- 点击顶部菜单 Runner
- 选择你的集合(如
User API Test
) - 选择环境(如
Development
) - 设置迭代次数(可导入 CSV 数据进行数据驱动测试)
- 点击 Run User API Test
👉 Postman 会依次执行集合中所有请求,并汇总测试结果。
三、常见错误与解决方案
错误现象 | 原因 | 解决方案 |
---|---|---|
Could not send request |
后端未启动或端口占用 | 检查 Spring Boot 是否运行,端口是否正确 |
400 Bad Request |
JSON 格式错误或缺少必填字段 | 检查 Body 是否为合法 JSON,字段名是否匹配 |
401 Unauthorized |
缺少 Token 或认证失败 | 检查 Authorization Header 是否正确 |
404 Not Found |
路径错误或未映射 | 检查 Controller 路径和请求方法 |
415 Unsupported Media Type |
Content-Type 缺失或错误 | 确保设置了 Content-Type: application/json |
变量未替换(如 {{base_url}} 显示红色) |
环境未选择或变量未定义 | 点击右上角环境选择器,确认已选中正确环境 |
中文乱码 | 响应未设置 UTF-8 | Spring Boot 默认支持 UTF-8,若有问题检查 produces = "application/json;charset=UTF-8" |
四、注意事项
- ✅ 保持接口幂等性:避免在
GET
请求中执行写操作。 - ✅ 使用环境变量管理 URL:避免硬编码
localhost:8080
。 - ✅ 敏感信息保护:
- 不要在集合中明文存储密码、密钥
- 使用 Postman 的 Secret Variables(加锁图标)
- ✅ 版本控制:
- 使用 Postman 的 Versioning 功能管理 API 变更
- 或导出 JSON 文件纳入 Git 管理
- ✅ 避免循环依赖:Pre-request Script 与 Tests 不要无限递归调用。
五、使用技巧
技巧 | 说明 |
---|---|
快速复制 cURL | 在请求右上角 → ... → Copy as cURL ,可用于命令行调试 |
自动生成代码片段 | Code 按钮 → 生成 Java、Python、JavaScript 等调用代码 |
使用 Pre-request Script | 在请求前执行脚本,如生成时间戳、签名、获取 Token |
数据驱动测试 | 使用 CSV/JSON 文件批量测试不同参数 |
设置超时时间 | 在 Settings → General 中调整请求超时 |
监控 API(Monitors) | 设置定时任务自动运行集合,监控接口健康状态 |
一键分享文档 | 点击集合 → ...</Publish> → 生成可访问的文档链接 |
六、最佳实践
✅ 按模块组织 Collection:
- 如
User API
,Order API
,Auth API
- 每个 Collection 可包含多个 Folder(如 CRUD)
- 如
✅ 命名规范:
- 请求名清晰:
GET /users - 获取所有用户
- 使用动词 + 路径 + 描述
- 请求名清晰:
✅ 添加测试断言:
- 每个接口都应有基本状态码、响应结构、字段验证
✅ 使用环境管理多环境:
Development
,Staging
,Production
- 变量如
{{base_url}}
,{{api_key}}
✅ 定期运行集合测试:
- 开发完成后运行一次,确保无回归问题
✅ 与 Swagger 集成:
- 导入 OpenAPI/Swagger JSON 文件自动生成 Postman Collection:
Import
→Link
→ 输入http://localhost:8080/v3/api-docs
- 或上传
swagger.json
文件
- 导入 OpenAPI/Swagger JSON 文件自动生成 Postman Collection:
七、性能优化建议
优化点 | 说明 |
---|---|
减少不必要的请求头 | 避免发送冗余 Header |
禁用 SSL 验证(仅测试环境) | Settings → General → 关闭 SSL certificate verification (不推荐生产) |
使用 Mock Server 减少后端依赖 | 前端开发时使用 Mock 数据 |
压缩大响应数据 | 后端启用 GZIP 压缩(Spring Boot 默认支持) |
避免频繁调用高耗时接口 | 在 Runner 中设置延迟(pm.sleep(1000) ) |
使用 Newman 命令行运行 | 集成 CI/CD 时使用 newman run collection.json ,性能更高 |
八、高级功能(进阶)
功能 | 说明 |
---|---|
Newman | Postman 命令行工具,用于 CI/CD 自动化测试 |
Monitors | 定时运行集合,监控 API 可用性 |
Workspaces | 团队协作空间,支持多人编辑 |
API Network | 发布 API 供外部调用 |
Flows | 可视化 API 编排(Beta) |
Schema Validation | 使用 JSON Schema 验证响应结构 |
九、总结
项目 | 推荐做法 |
---|---|
工具选择 | Postman 桌面客户端 + 账号登录 |
组织方式 | Collection + Folder + Environment |
测试覆盖 | 每个接口添加 Tests 断言 |
多环境管理 | 使用 {{base_url}} 等变量 |
团队协作 | 使用 Workspace 共享集合 |
CI/CD 集成 | 使用 Newman 执行自动化测试 |
文档生成 | 发布 Collection 为在线文档 |
✅ 一句话总结:
Postman + Spring Boot = 高效 API 开发与测试闭环。通过合理使用环境变量、集合、测试脚本和自动化运行,可大幅提升开发效率与接口质量。