Aller au contenu

Modeli, enumi i svojstva

Modeli opisuju podatke vašeg API-ja. Model nosi tipizirana svojstva, a ta svojstva mogu upućivati na druge modele ili na enume.

Sekcija Modeli: lista svojstava modela sa njihovim tipom, zastavicama i primerom

Enum je zatvoreni skup vrednosti (na primer status draft / published / archived). Dizajn njima upravlja na dva načina:

  • Imenovani enumi — ponovo upotrebljivi, prvorazredni. U sekciji Enumi upotrebite Dodaj enum, dajte mu naziv i opis, zatim Dodaj vrednost za svaki unos. Svojstvo (ili parametar rute) ga zatim referencira svojim tipom.
  • Ugrađeni enumi (inline) — anoniman skup deklarisan direktno na svojstvu. Na svojstvu string / integer / number uređivač bedževa Vrednosti enuma omogućava vam da popišete dozvoljene vrednosti na licu mesta, bez kreiranja imenovanog tipa.

Kada ugrađeni enum zaslužuje da bude deljen, Izdvoji u imenovani enum ga promoviše: kreira imenovani enum (ponovo koristeći postojeći enum sa istim vrednostima, radi izbegavanja duplikata) i prepisuje svojstvo tako da ga referencira. Parametri rute takođe nose ugrađene enume i istu radnju Izdvoji — vidi Rute i CRUD.

U sekciji Modeli izaberite model: njegova svojstva se prikazuju u tabeli (Svojstvo, Tip, Zastavice, Primer). Upotrebite Dodaj svojstvo za kreiranje novog.

Svojstvo može biti tipa:

  • primitiv: string, integer, number, boolean;
  • niz (array<…>) ili mapa (map<…>) drugog tipa;
  • referenca na drugi model;
  • referenca na enum.

Za tip string možete odrediti format: email, uuid, date, date-time, uri, hostname, ipv4, password ili byte.

Osim tipa, svojstvo prihvata mnoga polja: Opis, Primer, Podrazumevana vrednost, Minimum / Maksimum, Min. dužina / Maks. dužina, Šablon (regex), Poruka o zastarelosti i — za reference — ponašanje On delete.

Zastavice kvalifikuju svojstvo i prikazuju se u obliku bedževa: obavezno, nullable, jedinstveno, nepromenljivo, searchable (pretraživo — vidi Rute i CRUD), zastarelo, samo za čitanje, samo za pisanje i PII (lični podatak).

Svaki model ima sopstvena podešavanja:

  • Identitet — identifikaciono svojstvo i njegova strategija generisanja (uuid, autoIncrement ili ulid). Upravo je taj identifikator povezan sa parametrima {{id}} generisanih ruta.
  • Nasleđivanje — model može naslediti roditelja; dete prikazuje svojstva roditelja samo za čitanje, pored sopstvenih.
  • Skladištenje i životni ciklus — očekivana volumetrija, vremenske oznake (created / updated) i meko brisanje (soft delete).

Takođe se iz tih podešavanja pokreće Generiši CRUD i Generiši rute pretrage — opisani na sledećoj stranici.