模型、列舉和屬性
模型 描述您的 API 的資料。一個模型帶有類型化的 屬性,這些屬性可以引用 其他模型或 列舉。

列舉 是一個封閉的值集合(例如狀態 draft / published / archived)。設計以
兩種方式處理它們:
- 具名列舉 —— 可重用、一等的。在 列舉 區段,使用 新增列舉,為它命名並 新增描述,然後對每個項目使用 新增值。之後,一個屬性(或一個路由參數)便可 依類型引用它。
- 內嵌列舉 —— 直接在某個屬性上宣告的匿名集合。在
string/integer/number屬性上,一個 列舉值 chip 編輯器讓您就地列出允許的值,而無需建立一個 具名類型。
當一個內嵌列舉值得被共用時,擷取為具名列舉 會將它提升:它建立具名列舉(重用一個 具有相同值的現有列舉,以避免重複),並重寫該屬性使其引用該列舉。路由參數同樣帶有 內嵌列舉以及相同的 擷取 操作 —— 參見路由與 CRUD。
在 模型 區段選擇一個模型:它的屬性會顯示在一個表格中(屬性、類型、 旗標、範例)。使用 新增屬性 來建立一個。
一個屬性的類型可以是:
- 原始類型:
string、integer、number、boolean; - 另一種類型的 陣列(
array<…>)或 對應(map<…>); - 對另一個模型的 參照;
- 對一個列舉的 參照。
對於 string,您可以指定一個 格式:email、uuid、date、date-time、
uri、hostname、ipv4、password 或 byte。
除類型之外,一個屬性還接受許多欄位:描述、範例、預設值、最小值 / 最大值、最小長度 / 最大長度、模式(正規表達式)、棄用訊息, 以及 —— 對於參照 —— 一個 On delete 行為。
旗標 用於限定屬性,並以徽章形式顯示:必填、nullable、唯一、 不可變、searchable(可查詢 —— 參見路由與 CRUD)、 已棄用、唯讀、唯寫,以及 PII(個人資料)。
每個模型都有自己的 設定:
- 識別 —— 識別屬性及其生成 策略(
uuid、autoIncrement或ulid)。 正是這個識別碼被關聯到所生成路由的{{id}}參數。 - 繼承 —— 一個模型可以從父層 繼承;子層除了自身的屬性外,還以唯讀方式 顯示父層的屬性。
- 儲存與生命週期 —— 預期資料量、時間戳記(
created/updated)和 軟刪除(soft delete)。
也正是從這些設定中啟動 生成 CRUD 和 生成搜尋路由 —— 在下一頁中說明。