VS Code REST Client API 測試工具介紹

蘇漢祥 2020/12/25 16:45:00
4757

前言

REST Client 是一套VS Code 的 套件,使用上十分簡單快速。但一般開始使用時

大家會覺得他的功能十分簡陋。但其實他已經提供測試API相關功能。本篇介紹

如何使用該工具做相關API測試。

 

優點與缺點

  優點:

    1.只有一個檔案,團隊成員可通過Git協作維護該檔

    2.支援 cURL  RFC 2616 兩種標準來呼叫RestAPI

    3.可自定義環境變數

    4.支援 Generate Code Snippet HTTP請求轉化為不同的程式語言。(CC#GoJavaJavascriptNode.js)

 

缺點:

    1.只支援VsCode

    2.沒有操作UI,相對Postman沒那麼方便

 

使用法式

   1.安裝 REST Client

     

   2.建立  .http or .rest 檔案

            支持 .http or .rest 副檔名的文件,提供程式碼自動補全功能

     

 

程式碼編寫

   支援 RFC2616cURL兩種格式

 

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

 

蘇漢祥