VS Code REST Client API 測試工具介紹
前言
REST Client 是一套VS Code 的 套件,使用上十分簡單快速。但一般開始使用時
大家會覺得他的功能十分簡陋。但其實他已經提供測試API相關功能。本篇介紹
如何使用該工具做相關API測試。
優點與缺點
優點:
1.只有一個檔案,團隊成員可通過Git協作維護該檔
2.支援 cURL和 RFC 2616 兩種標準來呼叫RestAPI
3.可自定義環境變數
4.支援 Generate Code Snippet 將HTTP請求轉化為不同的程式語言。(C、C#、Go、Java、Javascript、Node.js等)
缺點:
1.只支援VsCode
2.沒有操作UI,相對Postman沒那麼方便
使用法式
1.安裝 REST Client
2.建立 .http or .rest 檔案
支持 .http or .rest 副檔名的文件,提供程式碼自動補全功能
程式碼編寫
支援 RFC2616與cURL兩種格式
RFC 2616
cURL
以下是cURL標準的POST請求方式
Code Snippet
可以通過該功能產生不同語言的Http Request程式碼(JavaScript, Python, C, C#, Java, PHP, Go, Ruby, Swift等主流語言)。
變數設定
檔案變數
@開頭為檔案變數
系統變數
$開頭為系統變數
情境應用
透過Login API取得Token,並將Token設定於變數內。提供其它API驗證使用。
參數設定
@hostname = localhost
@port = 5001
@host = {{hostname}}:{{port}}
下圖中透過設定@name login 方式,可讓GetProfile 取得 token
### Login
# @name login
POST https://{{host}}/api/Account/Login HTTP/1.1
content-type: application/json
Accept: :*/*
{
"account":"admin",
"password":"1234"
}
執行結果
因之前設定的 #@name login 該API可使用 login.response.body.token 取得驗證 token 並設定在 Get Profile API 的 Header 區段中
### GetProfile
GET https://{{host}}/api/Account/GetProfile HTTP/1.1
content-type: application/json
Authorization: Bearer {{ login.response.body.token }}
執行結果
透過Put 更新 Profile
### PutProfile
PUT https://{{host}}/api/Account/PutProfile HTTP/1.1
content-type: application/json
Authorization: Bearer {{ login.response.body.token }}
{
"name": "王大明",
"phone": "12345678"
}
執行結果
結語:
REST Client 工具 在API 測試上已經符合各項使用情境和功能。如果已經長期使用VsCode 開發程式的朋友。可以提供除了 PostMan之外另類的選擇。
參考資料:
元件 GitHub vscode-restclient