替代Postman ,17.3K star!

现在,许多人都朝着全栈工程师的方向发展,API 接口的编写和调试已成为许多开发人员必备的技能之一。

工欲善其事,必先利其器。拥有一款优秀的 API 工具对于任何工程师来说都是极为重要的,它能够帮助我们高效地完成各种开发任务。

今天给大家分享一款Github上最近比较火的 API 开源项目 - Bruno,可以帮助开发者轻松探索和测试 API。

项目简介

Bruno 是一款基于文本文件的 API 工具,旨在改变以 Postman 为主的 API 工具现状。它使用自研的 Bru 标记性语言,可以快速记录和组织 API 请求的信息,并以纯文本形式存储在项目文件夹中,方便管理和协作。

目前在github上收获了17.3K star,非常受欢迎。

功能特性

  • 使用 Bru 语言记录 API 调试流程,将 API 调试文件与项目代码进行统一管理,并利用 Git 与团队成员进行同步协作。

  • 支持多种 API 请求方法,并可以编写脚本添加附加功能,例如数据生成、验证以及与其他工具和系统的集成。

  • 支持自动化测试,可以搭建 CI/CD 流程,提高开发效率。

  • 采用 Git 进行协作管理,保证 API 接口的隐私安全。

  • 支持 Windows、macOS、Linux 等主流操作系统。

项目安装

可以直接官网或者项目release页面下载对应系统的安装包进行安装

也可以使用下面的命令行安装:

复制代码
# 在 Mac 电脑上用 Homebrew 安装
brew install bruno

# 在 Windows 上用 Chocolatey 安装
choco install bruno

# 在 Windows 上用 Scoop 安装
scoop bucket add extras
scoop install bruno

# 在 Linux 上用 Snap 安装
snap install bruno

# 在 Linux 上用 Apt 安装
sudo mkdir -p /etc/apt/keyrings
sudo gpg --no-default-keyring --keyring /etc/apt/keyrings/bruno.gpg --keyserver keyserver.ubuntu.com --recv-keys 9FA6017ECABE0266

echo "deb [signed-by=/etc/apt/keyrings/bruno.gpg] http://debian.usebruno.com/ bruno stable" | sudo tee /etc/apt/sources.list.d/bruno.list

sudo apt update
sudo apt install bruno

项目展示

简单的 GET 请求:

复制代码
get {
  url: https://api.github.com/users/usebruno
}

Post 请求:

复制代码
post {
  url: https://api.textlocal.in/send
}

body {
  {
   "email":"eve.holt@reqres.in",
    "password":"cityslicka"
  }
}

headers {
  content-type: application/json
  Authorization: Bearer topsecret
}

编写自动化测试脚本,判断用户是否登录、是否成功获取 Token。

另外,可以通过使用 .env 配置文件,对不同用户进行权限分配,比如通过 environments/Local.bru 文件,配置环境设定:

复制代码
vars {
   host: http://localhost:5005
   jwtToken: {{process.env.JWT_TOKEN}}
}

如果你正在寻找一款好用的 API 工具,Bruno 值得你尝试一下。

相关推荐
comyccccc11 分钟前
STM32F407VET6核心板的部分电路绘制学习笔记
笔记·stm32·学习
叼烟扛炮16 分钟前
Linux 学习笔记(三十六):并发进阶——读写锁 vs 自旋锁,到底怎么选?
linux·运维·服务器·笔记·学习
是隼人25 分钟前
buuctf-pwn [极客大挑战 2019]Not Bad(orw+jmp)题解(学习过程持续更新)
学习·安全·pwn入门·ctf入门
lazy H1 小时前
【计算机网络】第 12 篇:IPv6 详解——地址格式、地址类型与双栈网络
网络·经验分享·后端·学习·计算机网络·408
(●—●)橘子……1 小时前
力扣 第525场周赛 练习理解
数据结构·python·学习·算法·leetcode
一只QAQ2 小时前
python语法学习
linux·python·学习
東隅已逝,桑榆非晚2 小时前
map和set的使用
数据结构·c++·笔记·学习
dadaobusi2 小时前
error:field ifru_addr has incomplete type sockaddr
学习
Z21-X2 小时前
云原生运维笔记:硬核拆解OpenStack计算与存储——从主机聚合到Cinder挂载全流程
运维·笔记·学习·云原生·openstack
坤坤子吖3 小时前
Linux网络编程基础:从 MAC 到 IP,理解网络数据是怎么传输的
linux·网络·笔记·学习