コンテンツにスキップ

モデル、enum、プロパティ

モデル は API のデータを記述します。モデルは型付きの プロパティ を持ち、 これらのプロパティはほかのモデルや enum を参照できます。

モデルセクション:モデルのプロパティ一覧が型、フラグ、例とともに表示される

enum は閉じた値の集合です(たとえばステータス draft / published / archived)。設計はこれを 2 通りの方法で扱います。

  • 名前付き enum — 再利用可能で、第一級の存在です。Enum セクションから enum を追加 を使い、名前と説明を付け、次に各エントリーに対して 値を 追加 します。その後、プロパティ(またはルートのパラメーター)が型としてこれを 参照します。
  • インライン enum — 1 つのプロパティに直接宣言された匿名の集合です。 string / integer / number のプロパティでは、列挙値 のチップエディター によって、名前付きの型を作らずにその場で許可される値を列挙できます。

インライン enum が共有に値するようになったら、名前付き enum に抽出 がこれを 昇格させます。名前付き enum を作成し(重複を避けるため、同じ値を持つ既存の enum を 再利用)、プロパティがそれを参照するように書き換えます。ルートのパラメーターも インライン enum と同じ 抽出 操作を持ちます — ルートと CRUD を参照。

モデル セクションでモデルを選択すると、そのプロパティが表(プロパティ、 型、フラグ、例)に表示されます。プロパティを追加 を使って新しく 作成します。

プロパティの型は次のいずれかです。

  • プリミティブ:string、integer、number、boolean。
  • ほかの型の 配列(array<…>)または マップ(map<…>)。
  • ほかのモデルへの 参照。
  • enum への 参照。

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 を生成 と 検索ルートを生成 も、この設定から起動します — 次のページで 説明します。