路由與 CRUD
路由 是您的 API 的進入點。它們按資源分組,您可以手動編寫,也可以從模型 生成。

定義一個路由
Section titled “定義一個路由”一個路由帶有一個 方法、一個 路徑、若干 參數 和若干 回應。路徑
使用 Restorm 的 {{param}} 語法:一旦您在路徑中輸入 {{id}},對應的參數就會
出現;移除它就會刪除該參數。
一個路由的 定義 分頁列出它的參數 —— 路徑 參數(從 {{param}} 佔位符
建立)以及您用 新增參數 新增的 查詢 / 標頭 參數。每個參數都帶有一個
名稱、一個位置(in)、是否 必填、一個描述,以及選擇性的一個 範例。
類型 儲存格是一個組合方塊:一鍵選擇一個原始類型(string、integer、number、
boolean),或設計的某個 具名列舉。對於更複雜的情形,選擇 Advanced… 開啟
一個小對話框,您可以在其中:
- 讓參數成為一個 陣列 並選擇它的 元素類型(
array<string>、……)—— 一個 多值查詢參數; - 在它未被具名列舉定型時,為它賦予 內嵌列舉值(允許的集合,以 chip 形式列出);
- 擷取為具名列舉 —— 將這些內嵌值提升為一個共用列舉(參見模型與列舉)。
一個參數還可以 關聯到一個模型屬性(模型連結 欄),從而繼承其類型,或被標記為 已棄用。每個參數 —— 它的類型、它的列舉、它的棄用狀態 —— 都會進入所生成的文件以及 每一種協定投影。
生成 CRUD
Section titled “生成 CRUD”從一個模型的設定中,生成 CRUD 一鍵建立一個以模型複數命名的路由群組,包含六個 路由:
| 路由 | 方法與路徑 | 回應 |
|---|---|---|
| 列出 | GET /(分頁) | 200 |
| 取得 | GET /{{id}} | 200 · 404 |
| 建立 | POST / | 201 |
| 替換 | PUT /{{id}} | 200 · 404 |
| 更新 | PATCH /{{id}} | 200 · 404 |
| 刪除 | DELETE /{{id}} | 204 · 404 |
清單是 分頁的(偏移/offset,預設 20 項,最多 100 項)。每個 {{id}} 都會
自動 關聯到模型的識別碼。
生成 CRUD 對話框提供兩個選項:
- 替換現有路由 —— 在您重新生成時避免重複。
- 用認證保護寫入路由 —— 於是建立、替換、更新和刪除要求一個權杖(bearer), 而讀取保持公開。
它還提醒您,CRUD 會 在每個協定中 提供服務:REST 路由、GraphQL 查詢與變更、 gRPC 方法、OData 實體集和 SOAP 操作(參見將設計作為 mock 提供服務)。
生成搜尋路由
Section titled “生成搜尋路由”對於每個標記為 searchable 的屬性,生成搜尋路由 會新增一個關聯到模型 清單路由的查詢參數(如果該路由尚不存在,則建立它)。
認證在三個層級設定:設計的一個預設值、每個群組的 需要認證,以及每個路由的 覆寫(它繼承群組的預設值)。可用的模式有 無、Bearer(JWT)、API 金鑰 (標頭) 和 Basic。
標籤 為文件和 OpenAPI 匯出將路由分組。它們存在於兩個層級:一個路由帶有它 自己的 標籤(它的 定義 分頁),而一個群組帶有 共用 標籤(它的設定), 套用於它所包含的每個路由。一個路由的有效標籤是二者的 聯集 —— 因此,對整個群組 共有的標籤,最好只在群組上設定一次。當您把一個匯入的 API 轉換為設計時,一個被某個 群組的每個路由共用的標籤會被自動上移到該群組。
一個路由(如同一個屬性或一個參數)可以從它的 設定 中被標記為 已棄用。一個
已棄用的路由在路由清單和所生成的用戶端中顯示為 淡化,並在它的分頁上帶有一則
棄用提示。該旗標會傳播到每一種協定投影 —— OpenAPI 的 deprecated、GraphQL 的
@deprecated 指令、SOAP 和 gRPC 描述元,以及 OData 中繼資料 —— 從而讓任何所提供
協定的使用者都能看到它。