跳转到内容

模型、枚举和属性

模型 描述您的 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 和 生成搜索路由 —— 在下一页中说明。