API Academy
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. Mocking APIs
  • 歡迎
  • 目錄
  • API 學院
    • Get Started
      • 什麼是 API?
      • API 如何運作?
      • 如何呼叫 API?
      • 如何閱讀 API 文件?
      • 章節總結
    • API Fundamentals
      • API 基礎知識:概覽
      • 方法與路徑
      • 參數
      • 請求 Body
      • 回應
      • API 規格與 OAS
      • 章節總結
    • Working with APIs
      • 使用 API:概覽
      • 根據規格發送請求
      • 環境與變數
      • 串聯多個端點
      • 處理 Auth
      • 處理 API 簽名
      • 腳本介紹
      • 章節總結
    • Mocking APIs
      • Mocking API:概覽
      • Smart Mock
      • Mock 預期結果
      • Cloud Mock
      • Mock 腳本
      • 章節總結
    • Designing APIs
      • 設計 API:概覽
      • API 設計介紹
      • 建立您的第一個 API 專案
      • 分析需求並規劃您的 API
      • 設計資料模型
      • 設計端點
      • 使用組件與可重用性
      • 設定與 Auth
      • API 設計指南
      • 章節總結
    • Developing APIs
      • 開發 API:概覽
      • 設定:安裝您的 AI 程式碼助手
      • 快速入門:30 分鐘內從規格到運行的 API
      • 了解生成的程式碼
      • 使用 Apidog 測試您的 API
      • 部署:將您的 API 上線
      • 章節總結
    • Testing APIs
      • 測試 API:概覽
      • 快速入門:您的第一個測試場景
      • 整合測試與資料傳遞
      • 動態值
      • 斷言與驗證
      • 流程控制:If, For, ForEach
      • 資料驅動測試
      • 性能測試
      • 測試報告與分析
      • CI/CD 整合
      • 排程任務與自動化
      • 進階測試策略
      • 章節總結
    • API Documentations
      • API 文件:概覽
      • 發布您的第一個 API 文件
      • 自訂文件外觀
      • 給消費者的互動功能
      • 進階發布設定
      • 管理 API 版本
      • 章節總結
    • Advanced API Technologies
      • 進階 API 技術:概覽
      • GraphQL
      • gRPC
      • WebSocket
      • Socket.IO
      • Server-Sent Events
      • SOAP
      • 章節總結
    • API Lifecycle
      • API 生命周期:概覽
      • API 生命周期的階段
      • API 治理
      • API 安全最佳實踐
      • 監控與分析
      • API 版本策略
      • API 的未來
      • 章節總結
    • API Security
      • API 安全性:概覽
      • API 安全性基礎知識
      • 身份驗證 vs. 授權
      • 了解 OAuth 2.0 和 OpenID Connect
      • JSON Web Tokens (JWT)
      • OWASP API 安全 Top 10
      • 加密與 HTTPS
      • 章節總結
    • API Tools
      • API 工具:概覽
      • API 工具的演變
      • API Clients
      • 命令列工具 (cURL, HTTPie)
      • API 設計和文件工具
      • API Mocking 工具
      • API 測試工具
      • 一體化 API 平台
      • 章節總結
    • API Gateway
      • API Gateway:概覽
      • 什麼是 API Gateway?
      • API Gateway 的關鍵功能
      • API Gateway vs 負載平衡器 vs 服務網格
      • 流行 API Gateway 解決方案
      • BFF (Backend for Frontend) 模式
      • 章節總結
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. Mocking APIs

Smart Mock

Smart Mock 是 Apidog 的自動 Mock 資料生成功能。它根據您的 API 規範建立逼真的 Mock 回應,無需任何配置。只需定義您的 API 規範,Apidog 就會為您智慧生成適當的 Mock 資料。
在這篇文章中,我們將學習如何將 Smart Mock 用於 Pet Store API。

1. 什麼是 Smart Mock?#

Smart Mock 透過分析您的 API 規範自動生成 Mock 資料。它識別常見的欄位名稱並生成適當的資料——無需手動配置。

為什麼使用 Smart Mock?#

立即生效:無需設定——只需定義您的 API 規範
智慧:自動識別欄位名稱並生成逼真的資料
始終有效:遵守您的 JSON Schema 以確保有效的回應

2. 如何使用 Smart Mock#

讓我們看看 Smart Mock 如何與 Pet Store API 一起運作:

步驟 1:打開端點#

1.
在您的 Apidog 專案中打開 Pet Store API
2.
導航到一個端點(例如 GET /pets/{id})
3.
確保端點已定義回應 Schema

步驟 2:存取 Mock 分頁#

1.
點擊 "Mock" 分頁(或切換到 DEBUG 模式並找到 Mock 部分)
2.
您將看到此端點的 Mock URL
image.png

步驟 3:複製並使用 Mock URL#

1.
點擊 Mock URL 以複製它
2.
URL 看起來像這樣:http://127.0.0.1:4523/m1/{project-id}/0/pets/{id}
3.
將其貼上到您的瀏覽器中或在您的應用程式中使用
4.
將路徑參數(如 {id})替換為實際值

步驟 4:檢視 Mock 回應#

Mock 伺服器將返回 Smart Mock 生成的資料。例如:
{
  "id": "pet_123",
  "name": "Buddy",
  "species": "DOG",
  "breed": "Golden Retriever",
  "ageMonths": 24,
  "status": "AVAILABLE",
  "adoptionFee": 150.00
}
每次您重新整理或發出新請求時,Smart Mock 都會在遵守 Schema 約束的同時生成新資料。

3. Smart Mock 如何生成資料#

Smart Mock 使用智慧名稱匹配來生成適當的資料。它識別常見的欄位名稱並生成逼真的值。

自動名稱識別#

Smart Mock 自動識別常見的欄位名稱:
name, firstName, lastName → 生成人名
email → 生成電子郵件地址
phone, phoneNumber → 生成電話號碼
address, street → 生成地址
price, amount, cost → 生成貨幣值
id, userId → 生成 ID
createdAt, updatedAt → 生成時間戳

範例:Pet Store API#

在 Pet Store API 的 GET /pets/{id} 回應中:
name → Smart Mock 生成寵物名字如 "Buddy" 或 "Luna"
species → 生成物種值如 "DOG" 或 "CAT"
breed → 生成品種名稱如 "Golden Retriever"
ageMonths → 生成年齡值
status → 生成狀態值如 "AVAILABLE"
如果欄位名稱不匹配任何模式,Smart Mock 根據欄位類型(字串、數字、布林值等)生成預設值。

4. 自訂特定欄位#

有時您想控制特定欄位,同時讓 Smart Mock 處理其餘部分。您可以使用回應 Schema 中的 Mock 欄位來做到這一點。

設定固定值#

1.
在 Edit 分頁中打開您的端點
2.
導航到 Response 部分
3.
找到您想自訂的屬性
4.
在 Mock 欄位中輸入一個值
範例:對於 status 欄位,您可以將其設定為 "AVAILABLE" 以始終返回此狀態。

使用動態值#

您也可以使用 Faker.js 表達式來生成動態資料:
{{$person.fullName}} → 生成隨機全名
{{$internet.email}} → 生成隨機電子郵件地址
{{$number.int(min=1,max=100)}} → 生成範圍內的數字
範例:對於 name 欄位,您可以使用 {{$person.firstName}} 來生成隨機名字。
image.png
當您在 Mock 欄位中設定值時,它會覆蓋 Smart Mock 對該特定欄位的自動生成。

5. JSON Schema 約束#

Smart Mock 遵守您的 JSON Schema 中定義的所有約束。這確保了生成的資料始終有效。

常見約束#

Enum 值:如果欄位有特定的允許值,Smart Mock 將從中選擇一個
範例:如果 status 有 enum ["AVAILABLE", "PENDING", "ADOPTED"],Smart Mock 返回其中一個值
Min/Max 值:具有 min/max 約束的數字欄位生成這些邊界內的值
範例:如果 ageMonths 有 minimum: 1 和 maximum: 240,Smart Mock 生成 1 到 240 之間的年齡
字串長度:具有長度約束的字串欄位生成這些限制內的字串
陣列大小:具有項目計數約束的陣列欄位生成具有適當元素數量的陣列

6. 關鍵重點#

Smart Mock 從您的 API 規範自動生成 Mock 資料
零配置——定義 API 規範後立即生效
智慧名稱匹配 識別常見欄位名稱並生成適當資料
Mock 欄位 允許您自訂特定欄位,同時對其餘部分使用 Smart Mock
JSON Schema 約束 確保所有生成資料有效
易於使用——只需複製 Mock URL 並開始使用

Smart Mock 讓開始 API Mocking 變得容易。只需定義您的 API 規範,Apidog 就會自動生成逼真的 Mock 資料。在下一篇文章中,我們將學習 Mock Expectations——如何建立帶有條件的自訂 Mock 回應。
繼續閱讀 → Mock Expectations
Modified at 2025-12-29 09:35:19
Previous
Mocking API:概覽
Next
Mock 預期結果
Built with