替代Postman,Github 38k star,这款API工具彻底火了!

摘要 :在 Postman、Insomnia 等商业 API 工具主导的市场中,Bruno 作为一款开源、轻量、注重隐私与协作的 API 客户端,正迅速赢得开发者青睐。它将 API 集合以纯文本文件形式存储在本地文件系统,天然支持 Git 协作,彻底告别"黑盒式"收藏管理。本文将带你从零安装、配置到高效使用 Bruno,体验真正为开发者打造的 API 调试新范式。


为什么选择 Bruno?

传统 API 工具(如 Postman)虽功能强大,但也存在明显痛点:

  • 数据封闭:集合以私有格式存储在云端或本地数据库,难以版本控制
  • 启动慢、资源占用高:Electron 应用普遍"吃内存"
  • 协作依赖账号体系:团队共享需登录、付费、权限配置

Bruno 的核心理念

API 收藏即代码(Collections as Code)

通过以下设计,Bruno 实现了轻量、透明、可协作的 API 调试体验:

特性 说明
纯文本存储 使用 .bru 文件保存请求,支持 Git 提交、Diff、Merge
离线优先 无需登录,所有数据本地保存,隐私无忧
跨平台 Windows / macOS / Linux 全支持
快速启动 轻量级架构,秒开不卡顿
开源免费 MIT 协议,GitHub 仓库完全开放

一、安装 Bruno

1. 官方下载

访问 www.usebruno.com,点击 Download 按钮:

选择对应操作系统的安装包(支持 .dmg.exe.AppImage 等)。从这里就可以看出bruno只有不到100M,和postman的500M比起来就清爽多了!

2. 命令行安装(可选)

bash 复制代码
# macOS (Homebrew)
brew install --cask bruno

# Linux (Snap)
sudo snap install bruno

安装完成后,启动 Bruno,界面简洁清爽:


二、创建第一个 API 请求

Step 1:新建请求

点击左上角 "New Request",输入:

  • Name : Get User Info
  • URL : https://jsonplaceholder.typicode.com/users/1
  • Method : GET

Step 2:发送请求

点击 Send 按钮,右侧将显示响应:

json 复制代码
{
  "id": 1,
  "name": "Leanne Graham",
  "email": "Sincere@april.biz",
  ...
}

✅ 支持自动格式化 JSON、XML、HTML 等响应体。


三、组织请求:文件夹与集合

Bruno 使用 文件系统结构 管理 API:

  • 每个项目 = 一个本地文件夹
  • 每个请求 = 一个 .bru 文件
  • 文件夹嵌套 = 请求分组

例如:

bash 复制代码
my-api-project/
├── users/
│   ├── get-user.bru
│   └── create-user.bru
├── posts/
│   └── list-posts.bru
└── bruno.json   # 项目元信息

操作方式

  • 右键侧边栏 → New Folder 创建分组
  • 拖拽 .bru 文件调整位置
  • 直接在文件系统中用 VS Code 编辑 .bru 文件(支持语法高亮)

💡 优势:Git 提交时可清晰看到哪条 API 被修改,适合 Code Review。


四、环境变量管理

开发、测试、生产环境切换是刚需。Bruno 提供内置环境管理:

1. 创建环境

点击顶部 EnvironmentsNew Environment

填写变量:

json 复制代码
{
  "base_url": "https://api.dev.example.com",
  "auth_token": "dev_abc123"
}

2. 在请求中使用变量

在 URL 或 Headers 中引用:

bash 复制代码
{{base_url}}/users
Authorization: Bearer {{auth_token}}

🔁 切换环境时,所有变量自动更新,无需修改请求。


五、导入与导出

从 Postman 迁移

Bruno 支持导入 Postman Collection:

  1. 点击 Import
  2. 选择 Postman Collection v2.1
  3. 上传 .json 文件

✅ 自动转换请求、变量、认证方式,无缝迁移。

导出为文件

选中集合 → Export → 生成 ZIP 或文件夹,便于备份或分享。


六、高级功能

1. 脚本支持(Pre-request & Tests)

Bruno 支持 JavaScript 脚本:

  • Pre-request Script:动态生成 token、签名
  • Test Script:断言响应状态、字段值
js 复制代码
// Pre-request: 生成时间戳
bru.setVar('timestamp', Date.now());
js 复制代码
// Test: 验证状态码
test('Status 200', () => {
  expect(res.status).toBe(200);
});

2. 多协议支持

除 HTTP/HTTPS 外,还支持:

  • WebSocket(实时调试)
  • GraphQL(内置查询编辑器)
  • REST + Form-data / JSON / Raw 等 Body 类型

3. 插件生态

通过社区插件扩展功能,如:

  • 自动重试
  • 响应转 TypeScript 接口
  • OAuth2 流程辅助

七、与 Apifox 对比:何时选 Bruno?

场景 推荐工具
🧑‍💻 个人开发者 / 小团队 Bruno(轻量、开源、Git 友好)
🏢 中大型企业 / 复杂协作 🔸 Apifox(支持 Mock、自动化测试、CI/CD 集成)
🔒 数据隐私敏感 Bruno(完全离线,无云依赖)
🧪 需要 Mock 服务 🔸 Apifox(内置智能 Mock 规则)
🔄 已有 Postman 集合 Bruno(支持一键导入)

💡 建议

  • 用 Bruno 做日常调试 + Git 协作
  • 用 Apifox 做全流程 API 管理(设计 → 文档 → 测试 → 监控)

总结

Bruno 不是 Postman 的简单复刻,而是对 API 调试工作流的一次重构。它将"API 收藏"从黑盒数据变为可版本控制的代码资产,真正实现:

"你的 API 集合,就是你的代码库的一部分。"

无论你是独立开发者、开源贡献者,还是注重工程规范的团队,Bruno 都值得加入你的工具链。


相关推荐
狂奔小菜鸡6 小时前
Day7 | Java的流程控制详解
java·后端·编程语言
Cache技术分享6 小时前
225. Java 集合 - List接口 —— 记住顺序的集合
前端·后端
回家路上绕了弯6 小时前
接口响应时间优化指南:从秒级到毫秒级的全链路方案
分布式·后端
天天摸鱼的java工程师6 小时前
循环依赖与三级缓存:Spring 如何优雅地解决“鸡生蛋”问题?
后端
却尘6 小时前
从53个漏洞到5个:我们用Distroless把容器安全"减"出来了
后端·自动化运维·devops
BingoGo6 小时前
PHP 中的命名艺术 实用指南
后端·php
骑着bug的coder6 小时前
第1讲:入门篇——把MySQL当成Excel来学
后端·mysql
SimonKing6 小时前
Spring Boot全局异常处理的背后的故事
java·后端·程序员
骑着bug的coder6 小时前
线上503了?聊聊Feign熔断降级这点事
后端