前言

只有光头才能变强。

文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y

相信大家都用过POSTMAN吧,后端在开发的时候写完接口总得去自测调用一下,看符不符合自己的预期。

因为我们的接口可能会有很多参数或者我们的参数是json格式的(等等原因),直接用浏览器去请求不太方便,而且使用浏览器去请求也不能复用(没有保存的功能)。

所以我们常常会用一些别的软件(插件),而POSTMAN就是这里边最出名的。

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

小插曲

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

毕业半年,买了一台MacBook Pro

于是我就把Windows上的hosts通过QQ复制到我的gas mask(Mac 上管理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

从界面上的小字,我们可以看出:IDEA是不推荐我们使用REST Client了,不妨让我们去使用new HTTP Client。从REST Client的风格我们可以看出跟POSTMAN没什么大的区别(从功能上长得差不多)

点击蓝字,我们跳到IDEA推荐用的new HTTP Client,可以发现这个界面:

我对这种用写的方式还是挺喜欢的(个人)。我们尝试一下右边的几个链接就可以快速入门

首先是Add Request,从英文上我们已经可以得出这是增加一个常见的请求模板(供你选择)

我们随便点一个试试,看一下是怎么样的:

然后我们可以点击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

在执行的时候我们就可以选择不同的环境执行:

我帮阿里云推广服务器89/年,229/3年,买来送自己,送女朋友马上过年再合适不过了,买了搭建个项目给面试官看也香,还可以熟悉技术栈,(老用户用家人账号买就好了,我用我女朋友的

简单使用一下IDEA 的HTTP Client相关推荐

  1. mbedTLS(PolarSSL)简单思路和函数笔记(Client端)

    转自: OpenSSL一直以来各种被诟病,具体挑了哪些刺,本文就不深究.作为OpenSSL有很多替代,我了解到的有cyaSSL(WolfSSL)和PolorSSL.其中PolarSSL已经被ARM收购 ...

  2. Java实现的简单的WebService服务发布和Client调用例子

    做大作业,要求用到WS,在网上看了看,自己写了一个,很简单的服务发布和Client调用例子. WebService有很多实现的方式,但是原理基本都是一样的,都是基于SOA的三角模型,所以重点在于理解了 ...

  3. ROS的学习(十六)用C++写一个简单的服务器(service)和客户端(client)

    我们将创建一个服务器节点add_two_ints_server,它将会收到两个整数,并且返回它们的和.切换目录到之前建立的beginner_tutorials包下: cd ~/catkin_ws/sr ...

  4. java 国际化例子_JavaSE 国际化 简单例子

    ①在src下添加两个文件: base_zh_CN.properties Test=\u8fd9\u662f\u4e2d\u6587 base_en_US.properties Test=english ...

  5. Orleans简单配置

    话说曾几何时,我第一次看到xml文件,心中闪过一念想:"这<>是什么鬼?"-用ini或者json多简单易懂,现在发觉作为配置文件,json有赶超xml的趋势.不过xml ...

  6. AIdl server端监听client是否掉线

    我们知道当绑定service时 客户端可以收到服务端异常中断的消息 即onServiceConnected,那么服务器端是否可以监听到client端掉线的消息呢?下面就写个简单的demo用于监听cli ...

  7. 在Windows Server 2003上运行vSphere Client 4.0出现“clients.xml文件出错r

    在Windows Server 2003上运行vSphere Client 4.0出现"clients.xml文件出错"的解决方法 当vSphere Client 4.0在Wind ...

  8. 理解vue ssr原理,自己搭建简单的ssr框架

    理解vue ssr原理,自己搭建简单的ssr框架 前言 大多数Vue项目要支持SSR应该是为了SEO考虑,毕竟对于WEB应用来说,搜索引擎是一个很大的流量入口.Vue SSR现在已经比较成熟了,但是如 ...

  9. Dropbear替代Openssh-ssh client使用

    替代纯属无奈之举,本来安装了一个Manjaro Linux桌面版本尝鲜,但在使用其ssh远程访问其他服务器和网络设备时发现失败报错,重装了openssh,问题依然存在 选择Dropbear替代方案 D ...

最新文章

  1. U-net进行图像分割
  2. 表达式如何获取复选框的值_Nuke表达式 Expression节点讲解
  3. AfxGetMainWnd( )函数
  4. [翻译]2005年软件业界推出新产品非官方计划
  5. [Array]Majority Element
  6. Velocity教程 (zhuan)
  7. java并发编程-基础
  8. oracle字符查出一位
  9. 远程桌面连接下拉框IP地址删除
  10. AI实战:推荐系统之影视领域用户画像——标签数据清洗
  11. 微信小程序同声传译 Face2FaceTranslator 开发
  12. python学习之函数(一)
  13. storm apache_Apache Storm很棒。 这就是为什么(以及如何)使用它的原因。
  14. kaggle 泰坦尼克号数据分析 笔记
  15. 119.编写函数,该函数的功能是计算下列级数之和,和值返回调用函数,数据由主函数输入
  16. windows文件服务器高可用,通过 Windows Server 2012 构建高可用性的文件服务器
  17. Spring-工作原理
  18. [Linux学习笔记] 浅谈信号(文章含不少学习资源)
  19. coreldraw x8段落_CorelDRAW文本段落如何调整行距
  20. Android 禁止adb reboot recovery进入recovery模式

热门文章

  1. css 右上角 翻开动画_CSS3 transition动画、transform变换、animation动画
  2. 陪诊系统app开发,一个应用可切换不同身份
  3. 简易购买电影票系统(Java)
  4. matlab求二阶电路图,MATLAB实验MATLAB数值计算:二阶电路时域研究
  5. 【VESC】一.配置开发环境、烧录固件
  6. cairo学习简单总结
  7. 显示器刷新率30hz_如何使您的120Hz或144Hz显示器使用其广告刷新率
  8. C# 使用Redis实现粉丝好友互粉数据存储和查询
  9. 大疆机甲大师教育机器人Python开发:中文命名变量初尝试
  10. anaconda查看环境中安装的包及具体位置查找