JetClient 是一個簡單且強大的 API 用戶端插件,適用於 JetBrains IDE(IntelliJ IDEA、GoLand、PyCharm、PhpStorm 等)。它將現有 API 用戶端的最佳功能與其他增強功能結合,所有這些都在您的 IDE 中進行。主要特點包括:
檔案同步 (Git Sync) :以人類可讀的格式在檔案系統上儲存請求和資料夾,從而可以透過 Git 與您的團隊輕鬆共享和協作。
環境群組:建立環境群組以一次選擇多個環境。例如,一組用於(開發、測試、生產),另一組用於(使用者、管理員)。
方便的變數管理:變數以 JSON5 格式定義,並組織成兩個編輯器:共享(同步)和本地(非同步)。變數不僅可以包括基本類型,還可以包括物件和陣列。
強大的腳本編寫:為請求和資料夾編寫預先請求和測試腳本。此外,建立可以重複使用現有請求的測試套件腳本,從而無需重複它們。
與原始碼和 OpenAPI 整合:直接從原始程式碼匯入 API,輕鬆在請求和對應程式碼之間導航,反之亦然。
GraphQL 支援:與 JetBrains 的 GraphQL 外掛程式無縫集成,以實現語法突出顯示和程式碼完成。
觀看 JetClient 外掛程式影片以了解外掛功能。
專案
文件同步(Git 同步)
環境
變數
腳本
餅乾
代理人
http/2
進口
貢獻
隱私
項目是由資料夾和請求組成的根集合。它包括自己的設定、環境、變數和初始化腳本。 JetClient 中的專案獨立於 IDE 項目,您可以在單一 IDE 專案中擁有多個 JetClient 專案。
檔案同步 (Git Sync)允許在本機檔案系統上儲存和還原您的請求集合。這樣可以透過 Git 或任何其他版本控制系統 (VCS) 與您的團隊輕鬆共享集合。
啟用同步:在建立新的 JetClient 專案時或在專案設定中開啟同步。
設定同步路徑:指定儲存同步檔案的目錄路徑。
儲存或復原:右鍵點選專案根目錄或特定請求/資料夾,然後選擇Save All
或Save
進行儲存。若要恢復或查看差異,請從相同上下文功能表中選擇相應的選項。
若要從同步中排除特定資料夾,請在其屬性中停用同步。此變更也將套用至所有巢狀資料夾。
環境允許針對不同的上下文使用不同的變數集。這些環境被組織成環境群組,您可以同時選擇多個環境,每組一個。
Default
環境群組始終可用,通常包括Local
、 Staging
和Production
等環境。您也可以建立自己的環境群組,例如User
、 Client
、 Region
、 API Version
等。
環境是按項目定義的,可以在Environments
中建立。這些環境的變數在Variables
標籤中設定。
JetClient 中的變數可以在不同層級定義:專案、資料夾和執行時。
運行時變數:在腳本中定義,僅在腳本執行期間可用。
項目和資料夾變數:在專案或資料夾的Variables
標籤中定義,使用 JSON5 格式。
變數編輯器分為兩個部分: Shared和Local 。
共享變數保存在專案/資料夾同步檔案中,可以與您的團隊共用。
本機變數安全地儲存在您的系統上,並且不包含在同步檔案中。
項目變數包括特定於環境的變數和globals
,無論選定的環境如何,都可以存取它們。它們被組織在一個 JSON 物件中,其中環境作為頂級屬性:
{ 全域變數:{baseUrl:'https://api.example.com' }, 本地:{令牌:'localToken' }, 開發者:{令牌:'devToken' }}
資料夾變數可以包括通用變數和特定於環境的變數。無論選擇什麼環境,通用變數都可以訪問,而特定於環境的變數僅在選擇對應環境時才可用:
{ myFolderVar: 'myValue', 開發人員:{myFolderVar:'devValue' }}
JetClient 中的變數可以是原始型別、物件和數組,並且可在腳本、請求和資料夾中使用。要在任何欄位中使用變量,請將其括在雙花括號中: {{myVar}}
。您可以使用{{myRequestBody}}
引用整個物件或數組,例如在請求正文中。
變數也可以引用其他變量,如下例所示:
{ 數組:[{ myProperty:123} ], // 該變數解析為字串“123” myVar: '{{array[0].myProperty}}', // 此變數解析為數字 123 myVar2: {{array[0].myProperty}}}
變數按以下順序解析,從最高優先權到最低優先權:
運行時變數
環境特定的本機資料夾變數
環境特定的共享資料夾變數
本機資料夾變數
共享資料夾變數
所有父資料夾中的變數
環境變數
全域變數
JetClient 中的請求和資料夾可以包含用 JavaScript 編寫的預先請求和測試腳本,而測試套件僅包含測試腳本。此項目包括每次執行執行一次的初始化腳本,可用於定義全域函數和變數。例如:
CryptoJS = require("crypto-js");hmacSHA256 = (message) => {return CryptoJS.HmacSHA256(message, jc.environment.get('secret')).toString();}
然後,您可以在預先請求和測試腳本中使用CryptoJS
和hmacSHA256
。
當您發送請求或使用運行器運行資料夾時,腳本將按以下順序執行:
專案的初始化腳本(每次執行執行一次)
所有父資料夾(從根目錄到目前資料夾)的預先請求腳本
請求的前置請求腳本
所有父資料夾的測試腳本(從根目錄到目前資料夾)
請求的測試腳本
對運行中的每個請求重複步驟 2-5。
對於測試套件,腳本按以下順序執行:
專案的初始化腳本
測試套件的測試腳本
jc.runRequest
、 jc.runFolder
或jc.runTestSuite
中的腳本遵循與請求、資料夾和測試套件相同的執行順序。
JetClient 內建函式庫與 Postman 類似,但它不是pm
而是稱為jc
。例如,
jc.test("狀態碼為200", () => {jc.expect(jc.response.code).to.eql(200)})
JetClient 腳本可以利用 Chai 斷言函式庫 BDD。有關更多詳細信息,請參閱 JetClient 庫文件。另請參閱 JetClient 庫類型以了解類型定義。
JetClient 包括內建函式庫,例如ajv
、 atob
、 btoa
、 chai
、 cheerio
、 crypto-js
、 csv-parse/lib/sync
、 lodash
、 moment
、 tv4
、 uuid
和xml2js
,您可以使用require
函數匯入這些函式庫。此外,您可以將自己的庫新增至腳本。導覽至Settings > Tools > JetClient
並設定Libraries directory
。如果您使用 npm 函式庫,請指定包含package.json
和node_modules
的目錄。否則,請使用腳本庫所在的目錄。然後您可以使用 require 導入您的庫。
使用Cookies Manager
管理 cookie。若要開啟它,請按一下工具視窗工具列中的Cookies Manager
。
使用 IDE 代理程式設定支援代理程式。
若要使用HTTP/2
協定傳送請求,請在Settings > Tools > JetClient > HTTP Version
中選擇HTTP/2
選項。
JetClient 支援從各種來源導入集合:
JetClient項目
春天
JAX-RS
改造
OpenAPI(招搖)
捲曲
郵差
要匯入 cURL 請求,只需複製 cURL 命令並將其貼上到請求的 URL 欄位中即可。
如果您想改進文檔,請提交 PR。
進一步改進產品的建議。
僅離線: JetClient 是僅離線插件,不收集任何資料。
安全儲存:本機變數、cookie 和 OAuth2 令牌安全地儲存在您的系統上。這包括在 Windows 上使用 KeePass、在 macOS 上使用 Keychain 以及在 Linux 上使用 libsecret。
無雲端同步:沒有後端或雲端同步。敏感資料安全地儲存在您的系統上。其他資料保存在專案的.idea/JetClient
目錄中,如果啟用了同步,則保存在 JetClient 同步檔案中。