前言
相信大家都使用过
POSTMAN吧,在后端开发过程中,接口编写完成后总需要自测调用一下,看是否符合预期。
postman
由于接口可能包含许多参数或使用
json格式,直接用浏览器请求不太方便,且无法保存和复用请求。
因此,我们通常会使用一些其他软件或插件,而
POSTMAN是其中最著名的。
本文并不是介绍
POSTMAN,而是讨论我们Java程序员最喜爱的IDEA,它也能实现
POSTMAN的功能,而且我觉得更加实用。
小插曲:最近我换了MacBookPro,需要将Windows上的hosts配置移植到MacBookPro上。
于是,我通过QQ将Windows上的hosts复制到gas mark(一个我在Mac上管理hosts的软件,我觉得很好用)。
从Windows复制对应的hosts配置
我愉快地将这些配置复制到gas mark后,成功访问了自己的预发环境(我通常需要配置hosts才能访问预发环境)。
但当我用
POSTMAN和IDEA自带的
HTTP Client测试自己的接口时,却一直收到
404错误,我非常不明白为什么会这样。
明明我的机器从浏览器直接访问预发环境是没问题的啊。我将相同的URL放在Windows上可以访问,但在Mac上就访问不了,真是奇怪啊…于是我叫来了我的小伙伴帮忙看看情况(我之前没遇到过这种问题),小伙伴们也开始分析起来(最后一群小伙伴都围着我看这个问题)。
检查我的gas mark配置是否有问题
----没看出问题检查我的绑定是否有相同的域名
----没看出问题检查本机的hosts文件是否有问题(注:我是在图文上查看的。快捷键:
option+command+空格,然后
command+shift+g,输入
/etc/hosts查看文件
----没看出问题
ping一下域名
----发现能ping通,但不是我绑定的IP怀疑DNS污染,去搜了几条命令刷新DNS
----无果这时有人提醒:“是不是你的hosts文件中有特殊字符啊?”,我熟练地在
iTerm2中输入
sudo vim /etc/hosts,一看,确实有许多特殊字符。
----问题解决,复制时存在特殊字符。哎哟。简单介绍HTTP Client上面也提到了,IDEA已经自带了类似
POSTMAN的工具供我们使用,如果它足够好用,我就无需下载
POSTMAN了。
首先,我们找到它的入口:
入口
在
Tools->HTTP Client->Test RESTful Web Service,不会很难找到。
点开后,我们可以在底部发现
REST Client:
REST Client 界面
从界面上的小字我们可以看出:
IDEA不推荐我们使用
REST Client,建议我们使用
new HTTP Client。从
REST Client的风格来看,与
POSTMAN没有太大区别(功能上相似)。
点击蓝字,我们跳转到
IDEA推荐的
new HTTP Client,可以看到这个界面:
一个新的界面
我个人很喜欢这种通过编写的方式(个人偏好)。我们尝试一下右边的几个链接就可以快速入门。
首先是
Add Request,从英文我们可以看出这是增加一个常见的请求模板(供你选择)。
Add Request
我们随便点一个试试,看看效果:
尝试功能
然后我们可以点击
Examples链接,看看它的功能:
Examples链接
我们可以看到各种示例,非常方便我们入门:
各种示例
更实用的是,我们可以定义变量(不同环境使用不同的变量),我们可以定义
http-client.env.json,其中写入一些通用变量的值。然后在
.http文件中就可以引用:
//http-client.env.json 样式
{
"dev": {
"baseUrl": "http://gateway.xxx.cn/",
"username": "",
"password": ""
},
"pre": {
"baseUrl": "http://localhsot:8888/",
"username": "",
"password": ""
}
}在
.http文件中使用{{condition}}就可以引用到我们公用的环境变量了:
GET {{baseUrl}}/api/item?id=99
Accept: application/json在执行时我们可以选择不同的环境执行:
样式图
最后我们可以发现,IDEA通过文件的方式就能构建自己的接口,这意味着我们可以将文件上传到
Git上,方便多人协作。
通过配置可以帮助我们快速切换对应的环境(变量),只需编写一次请求体,就可以用于多个环境。
通过官方提供的Examples我们也可以快速了解如何使用,没有什么学习成本。
还有一些高级功能…我就不说了(因为我也不懂),大家有兴趣可以去看一下。
参考资料:
https://www.php.cn/link/db92254e80a05b411642bc6885748637https://www.php.cn/link/4cfbfb28ee66aceab7be17065ebdb6e5
当我写下这篇文章时,敖丙和鸡蛋都说:“POSTMAN才是世界上最好用的工具,三歪没有格局。等他发文章的时候我要举报他。”
如果你,你会换掉POSTMAN吗?不妨在评论区留言。










