在计算机技术发展颇为成熟的今天,编写接口已不仅仅是后端、爬虫工程师的必备技能。不少前端工程师,甚至是产品经理,都能够掌握一些简单的 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
更多每日开发小技巧
尽在****未闻 Code Telegram Channel !
END
未闻 Code·知识星球开放啦!
一对一答疑爬虫相关问题
职业生涯咨询
面试经验分享
每周直播分享
......
未闻 Code·知识星球期待与你相见~
一二线大厂在职员工
十多年码龄的编程老鸟
国内外高校在读学生
中小学刚刚入门的新人
在“未闻 Code技术交流群”等你来!
入群方式:添加微信“mekingname”,备注“粉丝群”(谢绝广告党,非诚勿扰!)