Modelli, enum e proprietà
I modelli descrivono i dati della sua API. Un modello porta proprietà tipizzate, e queste proprietà possono referenziare altri modelli o enum.

Gli enum
Section titled “Gli enum”Un enum è un insieme di valori chiuso (per esempio uno stato
draft / published / archived). Un design li gestisce in due modi:
- Enum denominati — riutilizzabili, di primo livello. Dalla sezione Enum, usi Aggiungi un enum, gli dia un nome e una descrizione, poi Aggiungi un valore per ogni voce. Una proprietà (o un parametro di rotta) lo referenzia poi tramite il suo tipo.
- Enum inline — un insieme anonimo dichiarato direttamente su una proprietà.
Su una proprietà
string/integer/number, un editor a chip Valori di enum Le permette di elencare i valori consentiti direttamente lì, senza creare un tipo denominato.
Quando un enum inline merita di essere condiviso, Estrai in un enum denominato lo promuove: crea l’enum denominato (riutilizzando un enum esistente con gli stessi valori, per evitare i duplicati) e riscrive la proprietà affinché lo referenzi. Anche i parametri di rotta portano enum inline e la stessa azione Estrai — vedi Rotte e CRUD.
Le proprietà di un modello
Section titled “Le proprietà di un modello”Nella sezione Modelli, selezioni un modello: le sue proprietà si mostrano in una tabella (Proprietà, Tipo, Flag, Esempio). Usi Aggiungi una proprietà per crearne una.
Una proprietà può essere di tipo:
- un primitivo:
string,integer,number,boolean; - un array (
array<…>) o una map (map<…>) di un altro tipo; - un riferimento a un altro modello;
- un riferimento a un enum.
Per un string, può precisare un formato: email, uuid, date,
date-time, uri, hostname, ipv4, password o byte.
Oltre al tipo, una proprietà accetta numerosi campi: Descrizione, Esempio, Valore predefinito, Minimo / Massimo, Lunghezza min / Lunghezza max, Pattern (regex), Messaggio di deprecazione, e — per i riferimenti — un comportamento On delete.
I flag
Section titled “I flag”Dei flag qualificano la proprietà e si mostrano sotto forma di badge: obbligatorio, nullable, unico, immutabile, searchable (interrogabile — vedi Rotte e CRUD), deprecato, sola lettura, sola scrittura, e PII (dato personale).
Identità ed ereditarietà
Section titled “Identità ed ereditarietà”Ogni modello ha le sue proprie impostazioni:
- Identità — la proprietà identificante e la sua strategia di generazione
(
uuid,autoIncrementoulid). È questo identificatore a essere collegato ai parametri{{id}}delle rotte generate. - Ereditarietà — un modello può ereditare da un genitore; il figlio mostra le proprietà del genitore in sola lettura, oltre alle sue.
- Archiviazione e ciclo di vita — volumetria attesa, marcature temporali
(
created/updated) e eliminazione soft (soft delete).
È anche da queste impostazioni che si lancia Genera il CRUD e Genera le rotte di ricerca — descritti nella pagina seguente.