使用 JetBrains HTTP Client 測試 API 基礎

最近在寫新的專案,已經使用 JetBrains HTTP Client 來做 API 測試一小段時間了,來記錄一下。

HTTP Client 是 JetBrains 家族編輯器支援的一種整合開發工具,需要 IntelliJ IDEA Ultimate 或是其他付費 IDE 才可以使用,在 IntelliJ IDEA Community Edition (社群版)中不支援。
HTTP Client 的副檔名是 .http ,也並非只有 JetBrains ,在 Visual Studio 2022 中也有 .http 檔案編輯器,使用起來也大同小異,但是筆者沒有深入的比較,這篇也會主要著重在 JetBrains 中。

簡單範例

最簡單的 GET 請求:
    
### 這是一個 API
GET http://localhost:3333/users
    

### 的部分則是用來分隔多個請求,後面填入內容就是標題
如果是 GET ,則可以直接省略。 也可以替換成其他 Http Method,例如 POST, PUT, 等

具有 Body 和 JWT Token 的範例:
    
### 更新使用者資料
PUT http://localhost:3333/users/3
accept: application/json
Content-Type: application/json
Authorization: Bearer aaa.bbb.ccc

{
  "DisplayName": "Ruyut"
}
    


這裡最方便的就是可以直接將 cURL 格式 Ctrl + V 貼上,就會自動轉換成對應的語法,方便重複請求。

在文件右上角的 Examples 點下去還可以看到一堆使用的範例可以照抄

變數

單個文件的變數

    
@base_url = http://localhost:3333
@auth_token = aaa.bbb.ccc

### 更新使用者資料
PUT {{base_url}}/users/3
accept: application/json
Content-Type: application/json
Authorization: Bearer {{auth_token}}

{
  "DisplayName": "Ruyut"
}
    

多文件的變數

一開始會自動建立 http-client.env.json 設定檔,裡面使用 json 格式儲存變數。一個設定檔可以儲存多套設定值,Json 的第一層就是這一套設定值的名稱,例如下面就儲存了 dev 和 ci 這兩套設定值
    
{
  "dev": {
    "base_url": "http://localhost:3333",
    "auth_token": "aaa.bbb.ccc"
  },
  "ci": {
    "base_url": "http://192.168.0.1:8081",
    "auth_token": "aaa.bbb.ccc"
  }
}
    

在檔案的最上方可以隨時切換:



參考資料:
JetBrains - HTTP Client
Microsoft.Learn - 在 Visual Studio 2022 中使用 .http 檔案

留言