1. 簡介
? IDEA本身是提供測試接口工具的略板, rest-client/http client,功能很強(qiáng)大慈缔,在我日常使用中叮称,完全可以做到不需要打開 postman 的程度。 入口如下:
<center>圖一 打開方式</center>
? 點(diǎn)擊 Test RESTful Web Service 是打開 Rest Client 工具,可以理解為一個(gè)使用了IDEAUI的接口測試工具瓤檐,相對比較可視化赂韵,直接在上面根據(jù)實(shí)際需求填充值即可,再點(diǎn)左上角的按鈕啟動(dòng)測試挠蛉。
<center>圖二 rest client</center>
? 圖一選項(xiàng)中的第二個(gè)選項(xiàng) Open Http Requests Collection 才是 今天的重點(diǎn)祭示,可以直接通過 .http 后綴的文件來請求接口。除了在工具欄進(jìn)去谴古,也可以在任何地方自己 new 一個(gè)出來(圖4)质涛,或者點(diǎn)擊圖二中黃色底的 Convert request to the new format ,也會(huì)在 Scratches and consoles 下的 Scratches文件夾 生成一個(gè) .http文件(圖五)
<center>圖三 http client</center>
<center> 圖四</center>
<center>圖五 </center>
2. http client
? 下面主要講一下 http client 的使用讥电,簡單理解就是 http請求的參數(shù)蹂窖,都可以在這里自行定義。
? 剛剛進(jìn)入文件會(huì)給你一個(gè)例子,第一行很容易理解恩敌,選擇請求方式(GET瞬测、POST、PUT等) 以及 請求地址纠炮,這是必填項(xiàng)月趟;第二行開始并不一定是要有的,不給的話就根據(jù)你的請求方式按照默認(rèn)參數(shù)來給
GET http://localhost:8080/resources
Accept: */*
Cache-Control: no-cache
2.1 普通請求
? 請求成功之后會(huì)在在下方控制臺(tái)顯示請求的內(nèi)容恢口,以及結(jié)果孝宗,并在 .http 文件的對應(yīng)請求下方留有一條歷史記錄,方便查看(如圖六)
?<center>圖六 http client運(yùn)行效果</center>
2.2 變量請求
? 系統(tǒng)經(jīng)常會(huì)部署在不同的環(huán)境之中耕肩,http client 同時(shí)也支持根據(jù)不同的環(huán)境修改參數(shù)因妇,支持的參數(shù)有:
- 請求ip,端口和路徑
- 查詢參數(shù)或值
- 請求頭的值
- 在外部文件為請求體提供任意值
? 支持的環(huán)境變量定義文件有具體的命名方式猿诸,并且需要跟 .http文件在同一目錄下(Scratches and consoles文件夾下面的只能普通請求)婚被,命名也有要求,需要是下面的其中之一:
- rest-client.env.json
- http-client.env.json
- rest-client.private.env.json
- http-client.private.en.json
? 上述文件中帶private的文件不表示是一個(gè)私人的文件梳虽,可能包括密碼址芯,令牌,證書等敏感信息窜觉,默認(rèn)情況下谷炸,此文件被添加到VCS忽略文件列表中。使用如下(內(nèi)容是 Json 格式):
<center>圖七 環(huán)境變量文件設(shè)置</center>
<center>圖八 運(yùn)行時(shí)選擇</center>
? 如圖七 圖八禀挫,在設(shè)置完環(huán)境變量之后運(yùn)行時(shí)就可以選擇相關(guān)的環(huán)境變量傳入請求中旬陡,直接運(yùn)行即可
3. 使用小技巧
3.1 語法
- 注釋使用
//
或者#
- 分開請求用
###
- 如果不想要生成日志
- 腳本 以
>
開頭,將邏輯寫在{% %}
中特咆,可以調(diào)用client對象
<center>圖九 不記錄日志</center>
3.2 快捷鍵
快捷鍵 | 說明 |
---|---|
gtr | 生成一個(gè)get請求 |
gtrp | 生成一個(gè)get請求季惩,外加參數(shù) |
ptr | 生成一個(gè)post請求录粱,格式是application/json |
ptrt | 生成一個(gè)post請求,格式是application/x-www-form-urlencoded |
mptr | 生成一個(gè)post請求画拾,表單提交 |
fptr | 生成一個(gè)post請求啥繁,文件上傳 |
###
# gtr
GET http://localhost:80/api/item
Accept: application/json
###
# gtrp
GET http://localhost:80/api/item?id=99
Accept: application/json
###
# prt
POST http://localhost:80/api/item
Content-Type: application/json
{}
###
#ptrp
POST http://localhost:80/api/item
Content-Type: application/x-www-form-urlencoded
id=99&content=new-element
###
# mptr
POST http://localhost:80/api/item
Content-Type: multipart/form-data; boundary=WebAppBoundary
--WebAppBoundary
Content-Disposition: form-data; name="field-name"
field-value
--WebAppBoundary--
###
# fprt
POST http://localhost:80/api/item
Content-Type: multipart/form-data; boundary=WebAppBoundary
--WebAppBoundary
Content-Disposition: form-data; name="field-name" filename="file.txt"
< ./relative/path/to/local_file.txt
--WebAppBoundary--
###
3.3 腳本
? 可以在請求中添加腳本,打印或者存儲(chǔ)一些信息青抛,可以使用腳本存儲(chǔ)一些結(jié)果變量旗闽,然后類似環(huán)境變量一樣的引用。
<center>圖十 腳本示例</center>
? 如果使用了腳本的打印蜜另,結(jié)果控制臺(tái)會(huì)出現(xiàn)一個(gè)選項(xiàng)框适室,顯示打印內(nèi)容,如下方的 Respinse Handler
3.4 多看示例
? IDEA在 .http 文件的右邊已經(jīng)給我們提供了很多例子举瑰,以及便捷操作捣辆,當(dāng)自己無從下手的時(shí)候,也可以參考一下此迅。還提供了從 cURL 轉(zhuǎn)換為 .http 文件可識(shí)別的請求功能汽畴。
本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布!