Apidog 提供強大的模擬自訂功能,讓你能精細控制 API 回應。本文件介紹兩種自訂模擬資料的方法:1.
欄位層級自訂:控制特定欄位,同時讓其他欄位使用智慧模擬
2.
完整回應自訂:使用期望定義完整的模擬回應(固定、條件式或動態)
欄位層級自訂#
有時你需要為某些欄位定義特定值,同時讓 Apidog 自動產生其餘內容。Apidog 提供彈性的方法來進行欄位層級控制。設定自訂欄位值#
1. 固定值#
在端點規格的模擬欄位中指定靜態值。Apidog 會一律為該欄位回傳這個確切值,而未指定的欄位則使用智慧模擬。2. 使用 Faker.js 的動態值#
使用 Apidog 的動態值(基於 Faker.js)產生逼真的隨機資料。使用語法:| 表達式 | 範例結果 |
|---|
{{$person.fullName}} | Rachel Wheeler |
{{$internet.email}} | Arno.Huels33@yahoo.com |
{{$commerce.productName}} | Elegant Plastic Bike |
3. 帶參數的 Faker 方法#
使用 Apidog 增強版 Faker.js 語法,將參數傳入動態值方法,以產生專用資料。| 使用情境 | 表達式 | 說明 |
|---|
| 整數範圍 | {{$number.int(min=0,max=10000)}} | 0 到 10,000 之間的隨機整數 |
| 易讀電話 | {{$phone.number(style='human')}} | 人類可讀的電話格式 |
| N 的倍數 | {{$number.int(multipleOf=3)}} | 可被 3 整除的整數 |
| 陣列元素 | {{$helpers.arrayElement(['red','blue','green'])}} | 從陣列中隨機選取顏色 |
| 日期範圍 | {{$date.between(from='2024-01-01',to='2024-12-31',format='yyyy-MM-dd')}} | 指定範圍內的日期 |
4. 串接多個表達式#
{{$location.streetAddress}}, {{$location.city}}, {{$location.state}}, {{$location.zipCode}}, {{$location.country}}
8507 Hudson Alley, Rochester, Wisconsin, 96512, United States
每個組成部分都會動態產生,為每次模擬 API 呼叫建立獨特且逼真的地址。完整回應自訂(模擬期望)#
若要完全控制模擬回應,請使用 模擬期望。此功能可讓你定義固定、條件式或動態回應。建立模擬期望#
固定回應#
條件式回應#
根據請求參數回傳不同的模擬資料。模擬引擎會由上到下評估條件,並回傳第一個符合的期望。| 參數類型 | 說明 |
|---|
| 查詢參數 | URL 查詢字串 |
| 路徑參數 | 動態 URL 區段 |
| 標頭參數 | HTTP 標頭 |
| Cookie 參數 | Cookie 值 |
| 主體參數 | JSON 主體欄位(透過 JSON path) |
如果沒有任何條件符合,Apidog 會回退到 Project Settings → Feature Settings → Mock Settings 中的模擬方法優先順序
請求主體格式必須符合 API 規格(例如 form-data、JSON)
動態模擬資料#
{
"data": [
{% for i in range(0, 20) %}
{% if i>1 %},{% endif %}
{
"id": {{i}},
"firstname": "{{$person.firstName}}",
"lastname": "{{$person.lastName}}"
}
{% endfor %}
],
"success": true
}
包含 20 個使用者物件的陣列(id 從 0 到 19)
| 語法 | 用途 |
|---|
{{$...}} | 呼叫 Faker.js 以產生隨機值 |
{% for ... %} | Nunjucks 迴圈結構 |
{{i}} | Nunjucks 迴圈變數(不是 Apidog 變數) |
Apidog 使用 {{$person.firstName}},而不是原生 Faker.js 的 faker.person.firstName()
Apidog 專案/環境變數({{variable}})在模擬期望中無法使用
進階功能#
自訂回應標頭#
將自訂標頭新增到模擬期望,以模擬驗證、分頁或其他 API 行為。進階回應屬性#
| 屬性 | 用途 | 預設值 |
|---|
| HTTP Status Code | 模擬錯誤或特殊情況 | 200 |
| Response Delay | 模擬網路延遲(毫秒) | 0 |
啟用/停用期望#
可從期望清單中,分別為本機與雲端模擬環境切換期望的啟用或停用狀態。使用 Faker.js 與 Nunjucks 的動態資料產生
這些功能可讓你建立穩健且高擬真度的 API 模擬,準確反映正式環境行為! Modified at 2026-06-11 10:26:02