在發送 API 請求時,通常需要在開發、測試和正式環境之間切換。Apidog 讓你可以方便地將請求發送到不同環境——你只需要在介面右上角點擊並選擇所需的環境即可。在環境之間切換時,Base URL 和環境變數都會使用目前環境中定義的值。建立環境#
3
設定環境輸入新環境的名稱。新增 Base URL 和變數。 5
選擇環境若要使用新環境,請從介面右上角的環境選擇器中選取它。這會將其設為使用中的環境,並將所有變數設定為該環境中指定的值。
Apidog 在環境與 Base URL 之間維持清楚的分離。環境代表不同的部署階段(開發、測試、正式),而 Base URL 則在每個環境內設定。當你在不同環境中管理多個服務或微服務時,這種分離提供了彈性。相比之下,Apidog 的環境會直接反映開發、測試和正式等真實環境,而不是將每個 Base URL 視為單一環境。
Base URL#
Base URL 是 Apidog 環境中的主要功能。在 Apidog 中,端點路徑通常以正斜線(/)開頭,且不包含 Base URL。發送請求時,Apidog 會將目標 Base URL 加到端點 路徑前面。標準化的 Base URL 格式會以通訊協定開頭,並排除結尾的正斜線(/)。每個 Base URL 都對應到特定的模組。在大多數情況下,端點會使用其模組的 Base URL 來發送請求。例如,如果 正式 環境中預設模組的 Base URL 是 http://abc.com/v1,而你的端點路徑是 /pet,那麼當你在正式環境中發送請求時,實際送出的請求 URL 會是:如果端點路徑以 http:// 或 https:// 開頭,則不會附加 Base URL。不過,通常不建議在端點中硬編碼完整 URL。
在 Apidog 中,有一個名為 BASE_URL 的特殊環境變數,用於儲存目前環境中「Default Server」的 Base URL。通常不建議直接使用此變數。建議:使用 pm.request.getBaseUrl() 取得目前端點的 Base URL。
避免:使用 pm.environment.get('BASE_URL'),因為如果端點未佔用「Default Server」,它可能無法正確取得 Base URL。
如果你手動建立名為 BASE_URL 的環境變數,它將優先於系統預先定義的 BASE_URL。注意:腳本無法修改 Base URL 設定本身。指令 pm.environment.set('BASE_URL', 'My_url') 只會建立一個名為 BASE_URL 的變數。 搭配模組使用多個 Base URL#
如果你的專案端點需要連接到多個 Base URL(例如微服務),最佳管理方式是在 Apidog 中使用多個模組。使用者端點:https://user.example.com
訂單端點:https://order.example.com
產品端點:https://product.example.com
1
建立模組在 API 資料夾樹狀結構的頂部,新增多個對應到你服務的模組。 2
設定 Base URL在 環境管理 中,你會看到可為每個模組設定 Base URL 的欄位。輸入各環境的 URL,然後點擊 儲存。 3
設定模組 Base URL在模組的 根資料夾 設定中,選擇該模組端點應使用哪個 Base URL。預設設定:使用該模組列出的第一個 Base URL(建議)。
手動指定:手動選擇另一個 Base URL。(多數情況下不建議)。
4
繼承在子資料夾或個別端點中,你也可以指定 Base URL。 5
發送請求設定完成後,只要點擊 發送。Apidog 會根據模組與環境設定判斷適當的 Base URL。
新增環境變數#
在環境之間切換#
Apidog 會在工作台右上角的環境選擇器中顯示目 前環境。每當你發送請求或執行腳本時,Apidog 都會使用所選環境中所有變數的目前值。請求:實際送出的 HTTP 請求(包含完整 URL)。
環境中定義的服務會套用到端點。使用 請求 分頁進行臨時偵錯(類似 Postman)時,如有需要,可以使用 {{Base_url}} 語法。環境遷移#
在 Apidog 中,變數的 初始值 會在團隊內同步,而 目前值 只會儲存在本機。這表示目前值不會帶到其他裝置。Apidog 提供匯出/匯入功能,可在不同電腦之間遷移環境(包含本機目前值)。1
匯出在環境管理中,將滑鼠停留在環境旁的 ... 上,點擊 匯出 以取得 JSON 檔案。 2
匯入在目標電腦上,開啟環境管理,將滑鼠停留在 ... 上,點擊 匯入,並選擇 JSON 檔案。
環境的可見範圍#
私有環境與其他環境共享相同的 服務清單(Base URL)。在私有環境中新增或移除服務,會同時影響所有環境。
FAQ#
使用 pm.request.getBaseUrl() 取得目前端點的 Base URL。