替代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 值得你尝试一下。

相关推荐
Misnearch43 分钟前
agent架构学习
学习·架构
li星野1 小时前
【学习记录】USB连接与枚举全解析:从D+/D-上拉到pyOCD烧录
学习
我命由我123451 小时前
Photoshop - Photoshop 使用魔棒工具选择单独的区域
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
JWASX1 小时前
Java 转 go 学习 - kitex(1)
学习·golang
li星野1 小时前
HAVE — have / has / had (One-Page Notes)
学习
传奇开心果编程1 小时前
【声明式UI开发实用技术学与练】第8课 状态提升与下放
学习·flutter·react native·ui·swiftui·composer
阳光九叶草LXGZXJ10 小时前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习
mlidongfeng13 小时前
【学习】mKernel 分析
学习
一只小小的芙厨14 小时前
【线性DP】
学习·算法·动态规划
li星野14 小时前
DO — Auxiliary Verb (One-Page Notes)
学习