Modele, enumy i właściwości
Modele opisują dane Pana/Pani API. Model posiada typowane właściwości, a te właściwości mogą odwoływać się do innych modeli lub do enumów.

Enum to zamknięty zbiór wartości (na przykład status
draft / published / archived). Projekt obsługuje je na dwa sposoby:
- Enumy nazwane — wielokrotnego użytku, pierwszej klasy. W sekcji Enumy proszę użyć Dodaj enum, nadać mu nazwę i opis, a następnie Dodaj wartość dla każdego wpisu. Właściwość (lub parametr trasy) odwołuje się do niego następnie przez swój typ.
- Enumy inline — anonimowy zbiór zadeklarowany bezpośrednio na
właściwości. Na właściwości
string/integer/numberedytor żetonów Wartości enuma pozwala wypisać dozwolone wartości na miejscu, bez tworzenia nazwanego typu.
Gdy enum inline zasługuje na współdzielenie, Wyodrębnij do nazwanego enuma promuje go: tworzy nazwany enum (ponownie wykorzystując istniejący enum o tych samych wartościach, aby uniknąć duplikatów) i przepisuje właściwość tak, by się do niego odwoływała. Parametry trasy również przenoszą enumy inline i tę samą akcję Wyodrębnij — zobacz Trasy i CRUD.
Właściwości modelu
Section titled “Właściwości modelu”W sekcji Modele proszę wybrać model: jego właściwości wyświetlają się w tabeli (Właściwość, Typ, Flagi, Przykład). Proszę użyć Dodaj właściwość, aby utworzyć nową.
Właściwość może być typu:
- prymityw:
string,integer,number,boolean; - tablica (
array<…>) lub mapa (map<…>) innego typu; - referencja do innego modelu;
- referencja do enuma.
Dla typu string może Pan/Pani określić format: email, uuid, date,
date-time, uri, hostname, ipv4, password lub byte.
Poza typem właściwość akceptuje wiele pól: Opis, Przykład, Wartość domyślna, Minimum / Maksimum, Długość min / Długość maks, Wzorzec (regex), Komunikat o deprecjacji oraz — dla referencji — zachowanie On delete.
Flagi kwalifikują właściwość i wyświetlają się w postaci odznak: wymagana, nullable, unikalna, niezmienna, searchable (przeszukiwalna — zobacz Trasy i CRUD), przestarzała, tylko do odczytu, tylko do zapisu oraz PII (dane osobowe).
Tożsamość i dziedziczenie
Section titled “Tożsamość i dziedziczenie”Każdy model ma własne ustawienia:
- Tożsamość — właściwość identyfikująca i jej strategia generowania
(
uuid,autoIncrementlubulid). To właśnie ten identyfikator jest powiązany z parametrami{{id}}wygenerowanych tras. - Dziedziczenie — model może dziedziczyć po rodzicu; dziecko wyświetla właściwości rodzica jako tylko do odczytu, obok własnych.
- Przechowywanie i cykl życia — oczekiwana wolumetria, znaczniki czasu
(
created/updated) oraz miękkie usuwanie (soft delete).
To również z tych ustawień uruchamia się Generuj CRUD oraz Generuj trasy wyszukiwania — opisane na następnej stronie.