查看原文
其他

一款与众不同的 API 开发工具,诞生了!

小 G GitHubDaily 2023-10-23

公众号关注 “GitHubDaily”

设为 “星标”,每天带你逛 GitHub!


在计算机技术发展颇为成熟的今天,编写接口已不仅仅是后端、爬虫工程师的必备技能。不少前端工程师,甚至是产品经理,都能够掌握一些简单的 API 接口调试技巧。

现阶段,大家都开始陆陆续续往全栈工程师发展,API 接口编写、调试,已成为诸多开发都擅长的一个必备技能。

工欲善其事,必先利其器,无论对于哪个方向的工程师来说,拥有一款称手的 API 工具,往往能帮你事半功倍的处理各种开发任务。

今天在这里,给大家推荐一款 GitHub 上近期增长比较迅猛的 API 开源工具:Bruno,可用于快速探索与调试 API 的开源 IDE。

在国庆期间,该项目暴涨了 4500+ GitHub Star,成为 GitHub 近期增长最快的项目之一。

GitHub:https://github.com/usebruno/bruno

按作者的话说,该项目的诞生,主要是为了改变以 Postman 为主的 API 工具现状。

与以往工具不同的是,该项目自研了一种名为 Bru 的标记性语言,可利用纯文本文件,快速记录和组织 API 请求的信息。

通过这种方式,你可以将 API 集合以纯文本形式,直接存储在项目文件夹中,最大程度的减少空间占用。

下面是一个 Bru 文件示例(带有查询参数的 GET 请求):

将 API 调试流程,用语言的方式进行记录,可以在项目开发过程中,将 API 调试文件与项目代码进行统一管理,利用 Git 与团队成员进行同步协作。

Bru 语言的上手也非常简单,以下几个基础代码示例。

发送一个 GET 请求:

get {
url: https://api.github.com/users/usebruno
}

发送一个 POST 请求:

post {
url: https://api.textlocal.in/send
}

body {
 {
  "apiKey": "secret",
  "numbers": "9988776655",
  "message": "Woof! lets play with some apis"
 }
}

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

除此之外,你还可以用这种语法来编写脚本,向工具添加附加各种功能,例如数据生成、验证以及与其他工具和系统的集成,包括发送中间请求、解析响应数据、更新环境变量等任务。

你也可以用它来编写自动化测试脚本,以此搭建 CI/CD 流程,提高开发效率。

如下所示,是基于 JavaScript 编写的一个测试,用于判断用户是否登录、是否成功获取 Token 的简单示例。

在测试运行结束后,可直接看到结果输出:

如果你觉得 IDE 用起来不够灵活,还可以用 NPM,快速安装该项目的命令行工具。

# 安装 Bruno 命令行工具
npm install -g @usebruno/cli

# 访问 API 集成所在文件夹,并运行
bru run

# 或者,指定文件夹与运行环境,并运行
bru run folder --env Local

同样的,我们也可以采用这种方式,在命令行中快速对接口进行调试:

为了保证各种 API 接口的隐私安全,该项目放弃了云端存储模块,转为采用 Git 进行协作管理,你可以像往常的项目一样,对项目 API 文件进行管理。

如果需要设置某些独特的密钥,可以利用 .env 配置文件,给不同人员进行权限分配。

然后,再根据开发环境,来设置 host、jwtToken 等项目信息。

比如在 environments/Local.bru 文件中,设定 Local 环境的配置:

vars {
host: http://localhost:5005
jwtToken: {{process.env.JWT_TOKEN}}
}

该工具支持 Windows、macOS、Linux 等主流操作系统,项目代码完全开源。

如果你正在寻找一款简单便捷、易上手的 API 工具,Bruno 兴许是个不错的选择。

文中所提到的所有开源项目与工具,已收录至 GitHubDaily 的开源项目列表中。
该列表包含了 GitHub 上诸多高质量、有趣实用的开源技术教程、开发者工具、编程网站等内容。
从 2015 年至今,累计分享 3500+ 个开源项目,Star 增长 24000+,有需要的,可访问下方 GitHub 地址自取:
GitHub:https://github.com/GitHubDaily/GitHubDaily
好了,今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存