Apidog Docs
🇨🇳 繁體中文
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇨🇳 繁體中文
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇨🇳 繁體中文
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. Schemas
  • Apidog 學習中心
  • 開始使用
    • Apidog 簡介
    • Apidog 中的基本概念
    • 導覽 Apidog
    • 快速開始
      • 概覽
      • 建立端點
      • 發送請求
      • 新增斷言
      • 建立測試情境
      • 分享 API 文件
      • 探索更多
    • 遷移到 Apidog
      • 概覽
      • 手動匯入
      • 排程匯入(綁定資料來源)
      • 匯入選項
      • 匯出資料
      • 匯入自
        • 從 Postman 匯入
        • 匯入 OpenAPI 規格
        • 匯入 cURL
        • 匯入 Markdown
        • 從 Insomnia 匯入
        • 從 apiDoc 匯入
        • 匯入 .har 檔案
        • 匯入 WSDL
  • Mock API 資料
    • 概述
    • Smart Mock
    • 自訂模擬
    • 模擬優先順序
    • 模擬腳本
    • 雲端模擬
    • 自託管 Runner 模擬
    • 模擬語言(Locales)
  • 帳號與偏好設定
    • 帳戶設定
    • 產生 OpenAPI 存取權杖
    • 通知
    • 語言設定
    • 快捷鍵
    • 網路代理設定
    • 備份資料
    • 更新 Apidog
    • 刪除帳戶
    • 實驗性功能
  • 傳送請求
    • 概覽
    • SSE 偵錯
    • MCP Client
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP 或 WebService
    • GraphQL
    • gRPC
    • 使用請求代理代理程式進行偵錯
    • 建立請求
      • 請求歷史記錄
      • 請求基礎
      • 參數與主體
      • 請求標頭
      • 請求設定
      • 偵錯請求
      • 將請求儲存為端點
      • HTTP/2
    • 驗證與授權
      • 概覽
      • CA 和用戶端憑證
      • 授權類型
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Hawk 驗證
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • 回應和 Cookie
      • 檢視 API 回應
      • 管理 Cookie
      • 概覽
  • 開發和偵錯 API
    • 概觀
    • 產生請求
    • 傳送請求
    • 偵錯案例
    • 測試案例
    • 動態值
    • 驗證回應
    • Design-First 與 Request-First
    • 產生程式碼
    • 環境與變數
      • 概述
      • 使用變數
      • 環境管理
    • Vault 密鑰
      • 概覽
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • 動態值模組
      • Airline
      • 動物
      • 顏色
      • Commerce
      • Company
      • 資料庫
      • Datatype
      • 日期
      • Finance
      • Food
      • Git
      • Hacker
      • Helpers
      • 圖片
      • Internet
      • 位置
      • Lorem
      • 音樂
      • Number
      • Person
      • Phone
      • 科學
      • 字串
      • System
      • Vehicle
      • Word
    • 前置和後置處理器
      • 概覽
      • 斷言
      • 擷取變數
      • Wait
      • 安全性
      • 資料庫操作
        • 概述
        • MySQL
        • MongoDB
        • Redis
        • Oracle Client
      • 使用腳本
        • 概觀
        • 前置處理器指令碼
        • 後置處理器腳本
        • 公開腳本
        • Postman Scripts Reference
        • 呼叫其他程式語言
        • 使用 JS Libraries
        • 視覺化回應
        • 腳本範例
          • 斷言腳本
          • 使用變數
          • 修改請求
          • 其他範例
    • API 偵錯
      • AI Agent Debugger
      • A2A Debugger
  • 設計 API
    • 概覽
    • 建立新的 API 專案
    • 端點基礎
    • APl 設計指南
    • 模組
    • 設定多個請求主體範例
    • 元件
    • 通用欄位
    • 全域參數
    • 端點變更歷史
    • 留言
    • 批次端點管理
    • 自訂協定 API
    • Spec-first 模式 (Beta)
    • 安全方案
      • 概觀
      • 建立安全性方案
      • 使用 Security Scheme
      • 線上文件中的安全性方案
    • 進階功能
      • 自訂端點欄位
      • 關聯的測試場景
      • 端點狀態
      • 參數列表的外觀
      • 端點唯一識別
    • Schemas
      • 概述
      • 建立新 Schema
      • 建立 Schema
      • 從 JSON 等產生 Schema
      • oneOf, allOf, anyOf
      • 使用 Discriminator
  • API 測試
    • 概述
    • 測試情境
      • 建立測試情境
      • 在請求之間傳遞資料
      • 流程控制條件
      • 從端點和端點案例同步資料
      • 從其他專案匯入端點和端點案例
      • 匯出測試情境
    • 測試報告
      • 測試報告
    • 執行測試情境
      • 執行測試場景
      • 批次執行測試場景
      • 資料驅動測試
      • 共享測試資料
      • 排程任務
      • 管理來自其他專案的 API 執行環境
    • 測試套件
      • 概述
      • 建立測試套件
      • 編排測試套件
      • 在本機執行測試套件
      • 透過 CLI 執行測試套件
      • 排程任務
    • 測試 API
      • 整合測試
      • 效能測試
      • 端對端測試
      • 迴歸測試
      • 契約測試
    • Apidog CLI
      • 概覽
      • 安裝並執行 Apidog CLI
      • Apidog CLI 選項
    • CI/CD
      • 概述
      • 與 Github Actions 整合
      • Integrate with Gitlab
      • 與 Jenkins 整合
      • 透過 Git Commit 觸發測試
  • 發布 API 文件
    • 概述
    • 支援的 API 技術
    • 快速分享
    • 檢視 API 文件
    • Markdown 文件
    • 發佈文件網站
    • 自訂登入頁面
    • 自訂版面配置
    • 自訂 CSS、JavaScript、HTML
    • 自訂網域
    • AI Features
    • SEO 設定
    • 進階設定
      • 文件搜尋
      • CORS Proxy
      • 整合 Google Analytics
      • 資料夾樹設定
      • 可見性設定
      • 在文件 URL 中嵌入值
    • API 版本
      • 概述
      • 建立 API 版本
      • 發佈 API 版本
      • 使用 API 版本分享端點
  • 分支
    • 概觀
    • 建立 Sprint 分支
    • 在分支中測試 API
    • 在分支中設計 API
    • 合併 Sprint 分支
    • 管理 Sprint 分支
    • AI Branch (Beta)
  • AI 功能
    • 概觀
    • 啟用 AI 功能
    • 產生測試案例
    • 使用 AI 修改 Schema
    • 端點合規性檢查
    • API 文件完整性檢查
    • AI 驅動的欄位命名
    • 常見問題
  • Apidog MCP 伺服器
    • 概覽
    • 將 Apidog 專案連接至 AI
    • 將已發布的文件連接至 AI
    • 將 OpenAPI 檔案連接到 AI
  • Apidog Europe
    • Apidog Europe
  • 最佳實務
    • 處理 API 簽章
    • 存取受 OAuth 2.0 保護的 API
    • 協作工作流程
    • 管理驗證狀態
  • 離線空間
    • 概述
  • 管理
    • 管理專案
      • 管理專案
      • 通知設定
      • 管理專案成員
      • 專案資源
        • 資料庫連線
        • Git 連線
    • 管理團隊
      • 管理團隊
      • 管理團隊成員
      • 團隊活動
      • 團隊角色與權限
      • 團隊資源
        • General Runner
        • 團隊變數
        • 請求代理代理程式
      • 即時協作
        • 團隊協作
    • 入門檢查清單
      • 基本概念
      • 入門指南
    • 管理組織
      • 管理組織
      • 組織角色與權限
      • 方案管理
        • 組織中的帳單管理員
      • 單一登入 (SSO)
        • SSO 概覽
        • 設定 Microsoft Entra ID
        • 設定 Okta
        • 為組織設定 SSO
        • 管理使用者帳戶
        • 將群組對應到團隊
      • SCIM 佈建
        • SCIM 佈建簡介
        • Microsoft Entra ID
        • Okta
      • 組織資源
        • 自託管 Runner
  • 帳單
    • 概觀
    • 點數
    • 升級您的方案
    • 替代付款方式
    • 管理訂閱
    • 將付費團隊移至組織
  • 附加元件
    • API Hub
    • Apidog Intellij IDEA 外掛
    • 瀏覽器擴充功能
      • Chrome
      • Microsoft Edge
    • 請求代理
      • Web 中的請求代理
      • 共用文件中的請求代理
      • 用戶端中的請求代理
  • 資料與安全
    • 資料儲存與安全性
    • 使用者資料隱私與安全
    • 請求路由與資料安全
  • 參考
    • API 設計優先方法
    • Apidog OpenAPI 規格擴充
    • JSONPath
    • XPath
    • 正規表示式
    • JSON Schema
    • CSV 檔案格式
    • 安裝 Java 環境
    • Runner 部署環境
    • Apidog Markdown 語法
    • Apidog Swagger 擴充
      • 概述
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Apidog JSON Schema 擴充
      • 概述
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • 支援中心
  1. Schemas

建立 Schema

使用 Schema 編輯器#

Schema 編輯器是一項強大的工具,可協助設計和建模 API 所使用的資料結構。它基於 JSON Schema,並用於設計 JSON 或 XML 資料結構。
使用 Schema 編輯器來:
開發針對特定 API 端點量身打造的 API 請求與回應主體。
建構可套用於一個或多個 API 的資料模型。
每個 schema 都從根物件開始。若要建立 schema,請將屬性新增至此根物件。

建立 Schema#

1
新增屬性
點選根物件旁的 +(新增子節點)符號以加入新屬性。
2
命名您的屬性
輸入屬性的名稱(或 key)。
3
選擇屬性類型
選擇常見資料類型,或選擇對預先定義 schema 的參照。
4
進階設定
使用類型編輯器為每個屬性指定資料類型,例如預設值和格式。
5
管理屬性
透過移動、複製或刪除來重新排列屬性。您也可以為屬性加上描述,並將其標記為必填。
替代方法
您也可以透過從資料庫資料表或 JSON schema 檔案匯入來建立新的 schema。進一步了解 從 JSON 等產生 Schema。

屬性類型#

依照 JSON Schema 標準,Apidog Schema 編輯器支援以下基本資料類型:
類型描述
null表示 JSON 的「null」值。
boolean表示「true」或「false」值,對應到 JSON 的「true」或「false」值。
object表示一組無序的鍵值對集合,對應到 JSON 的「object」值。
array表示一組有序的值列表,對應到 JSON 的「array」值。
number表示任意精度、以 10 為基數的十進位數值,對應到 JSON 的「number」值。
string表示 Unicode 字元字串,對應到 JSON 的「string」值。
陣列資料類型
使用 array 資料類型時,系統會自動產生一個子層級的 ITEMS 屬性。它指定陣列中元素的資料類型。
除了前面提到的標準資料結構之外,Apidog Schema 編輯器也支援以下內容:
參照其他 schema:能夠參照並重複使用 API 文件中其他位置定義的 schema。
any:表示可以是任何資料類型的值。
Schema 組合:允許組合多個 schema 以建立複雜資料結構。
自訂:讓使用者能夠自訂並調整 schema,以符合特定需求和資料建模需要。

參照其他 Schema#

您可以使用「參照其他 schema」功能來參照先前定義的 schema。
參照另一個 schema 後,您可以在 Schema 編輯器中檢視被參照的 schema。
關於被參照 schema 的重點:
對原始 schema 所做的任何修改,都會反映在參照它的 schema 中。
被參照的 schema 無法直接編輯;若要進行變更,您可以:
點選 schema 名稱以導覽至原始 schema 進行編輯。
在 schema 上點選 Dereference,schema 會轉換成一系列獨立屬性,讓您可以逐一編輯它們。
如果您需要獨立修改特定屬性的定義,可以選擇對該屬性執行 Dereference,以便進行個別修改。對原始 schema 的任何變更都不會影響已解除參照的屬性。
當端點中不需要被參照 schema 的所有屬性時,您可以點選 Hide 來隱藏不必要的屬性。

Schema 組合#

如果資料結構中的某個屬性可能有多種資料類型,您可以使用 Schema 組合來組合多個 schema。
Apidog 支援以下組合關鍵字:
關鍵字描述
allOf (AND)指定該屬性必須符合組合中定義的所有 schema。
anyOf (OR)指定該屬性可以符合組合中列出的任一 schema。
oneOf (XOR)指定該屬性必須且只能符合組合中定義的一個 schema。
選擇 Schema 組合後,屬性下方會出現名為「0」和「1」的子屬性,代表組合中的每個 schema。您可以修改每個子屬性的 schema 類型,並視需要新增其他 schema。
在 API 文件中,Schema 組合會像這樣顯示:
您會注意到 OneOf 下方有兩個可選物件。如果您想要像圖片中那樣顯示它們的名稱,需要在類型編輯器的 title 欄位中輸入名稱。

自訂#

選擇「自訂」後,您可以直接在編輯器中編輯 JSON Schema。

屬性設定#

每個屬性的資料類型旁都有幾個按鈕:
屬性設定按鈕
按鈕描述
*表示該屬性是否為必填。
N指定該屬性是否允許 null 值。
Settings允許您在類型編輯器中編輯進階設定。

類型編輯器#

類型編輯器會以視覺化方式描述符合 JSON Schema 的屬性。
設定好這些進階設定後,它們會在以下區域生效:
1.
新增回應範例時,您可以點選以根據設定自動產生。
2.
它們會顯示在 API 文件中。
3.
在請求主體中,您可以點選以根據設定自動產生。
4.
傳送請求後,回傳的資料會自動依照設定進行驗證。
5.
在模擬服務中,回應資料會根據設定產生。

列舉屬性#

對於 String、Integer 和 Number 類型,Apidog 支援 enum。透過切換 enum 開關,您可以新增 enum 值和描述。此外,您也可以對 enum 值執行批次編輯。

模擬#

除了屬性中的進階設定外,您也可以透過填入模擬值來指定欄位的模擬內容。模擬值的優先順序高於進階設定中的設定。
模擬值支援 Faker.js 語法,讓您可以直接從下拉選項中選擇所需的 faker 資料。
模擬值也可以輸入為固定值。

XML 設定#

對於 XML 資料,Apidog 中的類型編輯器提供額外的 XML 設定。您可以啟用 XML 開關,設定標籤名稱、命名空間等屬性,並預覽對應的 XML 結構。

HashMap、Dictionary、Array#

HashMap 也稱為 Map、dictionary 或 associative array。它是鍵值對的集合,其中 key 名稱可以是任何內容,而不是預先定義的。
OpenAPI 規範支援定義具有字串 key 的 HashMap。做法是將元素類型設定為 object,然後使用 additionalProperties 關鍵字來指定鍵值對中值的類型。
假設有一個使用者資訊查詢 API,且回傳資料格式有以下需求:
1.
回傳資料是一個物件
2.
該物件的子元素是 HashMap 的鍵值對
3.
使用者 ID 是 key,使用者資訊是 value
在 Apidog 中定義此結構:
1
建立新的 schema,並將其命名為「UserProfiles」。
2
在「UserProfiles」中,將根節點指定為「object」類型。然後點選 Advanced Configuration,將 additionalProperties 設定為 Allow,並點選右側的 Settings 按鈕。
HashMap 設定
3
在彈出視窗中,新增所需的使用者資訊,將使用者的姓名和電子郵件作為物件的欄位。它會自動儲存。
新增使用者資訊欄位
4
在 API 文件的回應中,於根節點參照該 schema,並選擇剛才建立的「user profiles」。
參照使用者 profiles schema
5
點選儲存,然後您就可以在 API 文件中的回傳回應範例裡看到已定義的 schema 和範例值。
API 文件中的 Schema 範例

含 additionalProperties 的物件#

隨著實際開發工作的迭代,API 回傳的物件相較於原本定義的物件,可能會有 additionalProperties。根據 OpenAPI 規範,這種情況也可以使用 「additionalProperties」 功能處理。
假設現在有一個使用者資訊查詢 API,原本依使用者 ID 查詢使用者資訊時定義的回應欄位是 name 和 email。現在,隨著系統升級,您想要包含其他欄位。
編輯 API 文件時,您可以如下定義:在資料模型的根節點中,點選 Advanced Settings,將 additionalProperties 設定為 Allow,並將欄位值類型設定為 any。
設定 additionalProperties
接著您可以在 API 文件中看到已定義的資料結構和範例值。
含 additionalProperties 的資料結構

Tuples#

通常,陣列內部的元素必須是相同類型,而 tuples 可以包含不同類型的資料。如果您想定義一個同時包含字串和整數類型的 tuple,例如 (0,"A",2,"C") 這類資料,您可以在資料模型中將元素類型設定為 array,然後在組合模式中將 items 的類型設定為 anyOf,接著分別新增 string 和 integer 類型的子元素。
TIP
如果您想在產生範例時產生多個元素,請在根節點的進階設定中指定元素的最小和最大數量。
定義 tuples
儲存後,在 API 文件中點選 Generate Automatically,即可看到已定義的資料結構和範例值。
Tuple 範例值
您也可以在文件的回傳回應中看到 tuple 的範例值。
文件中的 Tuple

工具#

Apidog 的 Schema 編輯器提供多個非常實用的工具。
工具描述
Generate from JSON etc.此工具可讓您從 JSON、XML 資料和其他來源,或直接從資料庫資料表結構,自動產生 schema。進一步了解 從 JSON 等產生 schema。
Preview此工具會建立符合 schema 定義的模擬資料,提供預期資料的預覽。
Generate code此工具可以產生多種程式語言的資料結構定義程式碼。進一步了解 產生程式碼。
JSON Schema此工具允許直接編輯 JSON schema,以進行微調和自訂。

FAQ#

Q:如果字串屬性有多個列舉值,並且用於多個位置,如何在各處一致地參照此 enum?
A:您可以將此屬性定義為由單一屬性組成的獨立 schema,使其能夠在 API 文件的不同部分中被一致參照。
Modified at 2026-06-11 10:26:02
Previous
建立新 Schema
Next
從 JSON 等產生 Schema
Built with