簡單使用一下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

相關文章
相關標籤/搜索