簡單使用一下IDEA 的HTTP Client


前言

只有光頭才能變強。

文本已收錄至我的GitHub精選文章,歡迎Starhttps://github.com/ZhongFuCheng3y/3y

相信大家都用過POSTMAN吧,后端在開發的時候寫完接口總得去自測調用一下,看符不符合自己的預期。

postman

因為我們的接口可能會有很多參數或者我們的參數是json格式的(等等原因),直接用瀏覽器去請求不太方便,而且使用瀏覽器去請求也不能復用(沒有保存的功能)。

所以我們常常會用一些別的軟件(插件),而POSTMAN就是這里邊最出名的。

這篇文章不是在介紹POSTMAN,而是我們Java程序員最喜歡的IDEA,它也能做到POSTMAN的功能,而且我覺得更加好用(見仁見智,勿噴)。

小插曲

在前幾天換了MacBookPro,自然就需要把在Windows上的hosts配置的東西搬移到MacBookPro上

畢業半年,買了一台MacBook Pro

於是我就把Windows上的hosts通過QQ復制到我的gas mask(Mac 上管理hosts的一個軟件,我覺得挺好用的)

從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多篇原創技術文章、海量視頻資源、精美腦圖,關注即可獲取!

轉發到朋友圈是對我最大的支持!

非常感謝人才們能看到這里,如果這個文章寫得還不錯,覺得「三歪」我有點東西的話 求點贊 求關注️ 求分享👥 求留言💬 對暖男我來說真的 非常有用!!!

創作不易,各位的支持和認可,就是我創作的最大動力,我們下篇文章見!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM