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.

Odjeljak Modeli: popis svojstava modela s njihovim tipom, zastavicama i primjerom

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

  • Imenovani enumi — ponovno upotrebljivi, prvorazredni. U odjeljku Enumi upotrijebite Dodaj enum, dajte mu naziv i opis, zatim Dodaj vrijednost za svaki unos. Svojstvo (ili parametar rute) potom ga referencira svojim tipom.
  • Ugrađeni enumi (inline) — anonimni skup deklariran izravno na svojstvu. Na svojstvu string / integer / number uređivač bedževa Vrijednosti enuma omogućuje vam da popišete dopuštene vrijednosti na licu mjesta, bez stvaranja imenovanog tipa.

Kada ugrađeni enum zaslužuje biti dijeljen, Izdvoji u imenovani enum ga promiče: stvara imenovani enum (ponovno koristeći postojeći enum s istim vrijednostima, radi izbjegavanja duplikata) i prepisuje svojstvo tako da ga referencira. Parametri rute također nose ugrađene enume i istu radnju Izdvoji — vidi Rute i CRUD.

U odjeljku Modeli odaberite model: njegova se svojstva prikazuju u tablici (Svojstvo, Tip, Zastavice, Primjer). Upotrijebite Dodaj svojstvo za stvaranje novog.

Svojstvo može biti tipa:

  • primitiv: string, integer, number, boolean;
  • polje (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 prihvaća mnoga polja: Opis, Primjer, Zadana vrijednost, Minimum / Maksimum, Min. duljina / Maks. duljina, Uzorak (regex), Poruka o zastarjelosti i — za reference — ponašanje On delete.

Zastavice kvalificiraju svojstvo i prikazuju se u obliku bedževa: obavezno, nullable, jedinstveno, nepromjenjivo, searchable (pretraživo — vidi Rute i CRUD), zastarjelo, samo za čitanje, samo za pisanje i PII (osobni podatak).

Svaki model ima vlastite postavke:

  • Identitet — identifikacijsko svojstvo i njegova strategija generiranja (uuid, autoIncrement ili ulid). Upravo je taj identifikator povezan s parametrima {{id}} generiranih ruta.
  • Nasljeđivanje — model može naslijediti roditelja; dijete prikazuje svojstva roditelja samo za čitanje, uz vlastita.
  • Pohrana i životni ciklus — očekivana volumetrija, vremenske oznake (created / updated) i meko brisanje (soft delete).

Također se iz tih postavki pokreće Generiraj CRUD i Generiraj rute pretraživanja — opisani na sljedećoj stranici.