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.

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/numberuređ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.
Svojstva modela
Section titled “Svojstva modela”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
Section titled “Zastavice”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).
Identitet i nasljeđivanje
Section titled “Identitet i nasljeđivanje”Svaki model ima vlastite postavke:
- Identitet — identifikacijsko svojstvo i njegova strategija generiranja
(
uuid,autoIncrementiliulid). 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.