简单使用一下IDEA 的HTTP Client

前言

只有光头才能变强。html

文本已收录至个人GitHub精选文章,欢迎Starhttps://github.com/ZhongFuCheng3y/3ygit

相信你们都用过POSTMAN吧,后端在开发的时候写完接口总得去自测调用一下,看符不符合本身的预期。程序员

postman

由于咱们的接口可能会有不少参数或者咱们的参数是json格式的(等等缘由),直接用浏览器去请求不太方便,并且使用浏览器去请求也不能复用(没有保存的功能)。github

因此咱们经常会用一些别的软件(插件),而POSTMAN就是这里边最出名的。json

这篇文章不是在介绍POSTMAN,而是咱们Java程序员最喜欢的IDEA,它也能作到POSTMAN的功能,并且我以为更加好用(见仁见智,勿喷)。vim

小插曲

在前几天换了MacBookPro,天然就须要把在Windows上的hosts配置的东西搬移到MacBookPro上segmentfault

毕业半年,买了一台MacBook Pro后端

因而我就把Windows上的hosts经过QQ复制到个人gas mask(Mac 上管理hosts的一个软件,我以为挺好用的)api

从Windows复制对应的hosts配置

因而我就很欢快愉悦地就将这些配置复制到gas mask。复制完了之后,我去访问本身的预发环境也是成功了(我这边通常预发环境都要配置hosts才能访问)。浏览器

可是等我用POSTMAN和IDEA自带的HTTP Clint去测试我本身接口的时候,一直都404了,我很是不明白为何404

  • 明明我本身的机器从浏览器直接访问预发环境是没问题的啊
  • 我将相同的URL放在Windows上是能够访问的,放在Mac上就访问不了
  • 好奇怪啊....

因而我就喊来了个人小伙伴帮我看看什么状况(我没遇到过这种问题),小伙伴也给我分析起来了(搞着搞着就一群小伙伴都围着我看这问题了)

  1. 检查一下个人gas mask配置有没有问题----没看出有问题
  2. 检查一下个人绑定有没有相同的域名----没看出有问题
  3. 检查一下本机的hosts文件有没有问题(注:我这里是在图文上看的。快捷键:option+command+空格,而后command+shift+g,输入/etc/hosts查看文件----没看出有问题
  4. ping一下域名----发现能ping通,但不是我绑定的ip
  5. 怀疑DNS污染,去搜了几条命令刷新DNS----无果
  6. 此时有个声音:“是否是你的hosts文件有特殊的字符啊?“,我熟练地在iTerm2输入sudo vim /etc/hosts,一看,好多的特殊字符。----问题解决,复制的时候存在特殊字符。哎哟。

简单介绍HTTP Client

注:环境:IDEA 2019.3

上面也讲到了,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咱们也能够快速去了解如何使用,没有什么学习成本。

还有一些高级的功能....我就不说了(由于我也不懂),你们能够有兴趣能够去看一下。

参考资料:

当我写下这篇文章的时候,敖丙和鸡蛋都说:”POSTMAN才是世界上最好用的工具,三歪没有格局。等他发文章的时候我要举报他

注:我不是一个深度使用POSTMAN的人,如今HTTP Client对我来讲已经足够使用了。

本已收录至个人GitHub精选文章,欢迎Starhttps://github.com/ZhongFuCheng3y/3y

乐于输出干货的Java技术公众号:Java3y。公众号内有300多篇原创技术文章、海量视频资源、精美脑图,关注便可获取!

转发到朋友圈是对我最大的支持!

很是感谢人才们能看到这里,若是这个文章写得还不错,以为「三歪」我有点东西的话 求点赞 求关注️ 求分享👥 求留言💬 对暖男我来讲真的 很是有用!!!

创做不易,各位的支持和承认,就是我创做的最大动力,咱们下篇文章见!

原文出处:https://www.cnblogs.com/Java3y/p/12076270.html

相关文章
相关标签/搜索