Перейти до вмісту

Моделі, enum-и та властивості

Моделі описують дані вашого API. Модель несе типізовані властивості, і ці властивості можуть посилатися на інші моделі або на enum-и.

Розділ Моделі: список властивостей моделі з їхнім типом, прапорцями та прикладом

Enum — це замкнений набір значень (наприклад, статус draft / published / archived). Дизайн керує ними у два способи:

  • Іменовані enum-и — придатні для повторного використання, першого рівня. У розділі Enum-и скористайтеся Додати enum, дайте йому назву й опис, а потім Додати значення для кожного запису. Далі властивість (або параметр маршруту) посилається на нього за типом.
  • Вбудовані enum-и (inline) — анонімний набір, оголошений безпосередньо на властивості. На властивості string / integer / number редактор-бейджів Значення enum-у дозволяє перелічити дозволені значення на місці, не створюючи іменованого типу.

Коли вбудований enum варто зробити спільним, Витягнути в іменований enum підвищує його: він створює іменований enum (повторно використовуючи наявний enum з такими самими значеннями, щоб уникнути дублікатів) і переписує властивість так, щоб вона посилалася на нього. Параметри маршруту також несуть вбудовані enum-и і ту саму дію Витягнути — див. Маршрути та CRUD.

У розділі Моделі виберіть модель: її властивості відображаються в таблиці (Властивість, Тип, Прапорці, Приклад). Скористайтеся Додати властивість, щоб створити її.

Властивість може бути типу:

  • примітив: string, integer, number, boolean;
  • масив (array<…>) або map (map<…>) іншого типу;
  • посилання на іншу модель;
  • посилання на enum.

Для string ви можете вказати формат: email, uuid, date, date-time, uri, hostname, ipv4, password або byte.

Окрім типу, властивість приймає безліч полів: Опис, Приклад, Значення за замовчуванням, Мінімум / Максимум, Мінімальна довжина / Максимальна довжина, Шаблон (regex), Повідомлення про застарілість, і — для посилань — поведінку On delete.

Прапорці характеризують властивість і відображаються у вигляді бейджів: обов’язкова, nullable, unique, незмінна, searchable (доступна для пошуку — див. Маршрути та CRUD), застаріла, лише читання, лише запис, і PII (персональні дані).

Ідентичність та успадкування

Section titled “Ідентичність та успадкування”

Кожна модель має власні налаштування:

  • Ідентичність — ідентифікуюча властивість та її стратегія генерації (uuid, autoIncrement або ulid). Саме цей ідентифікатор пов’язаний з параметрами {{id}} згенерованих маршрутів.
  • Успадкування — модель може успадковувати від батька; нащадок відображає властивості батька в режимі лише для читання, на додачу до власних.
  • Зберігання та життєвий цикл — очікуваний обсяг, позначки часу (created / updated) і м’яке видалення (soft delete).

Саме з цих налаштувань також запускають Згенерувати CRUD і Згенерувати маршрути пошуку — описані на наступній сторінці.