Rute și CRUD
Rutele sunt punctele de intrare ale API-ului dumneavoastră. Sunt grupate pe resursă și le puteți scrie manual sau le puteți genera dintr-un model.

Definirea unei rute
Section titled “Definirea unei rute”O rută poartă o metodă, o cale, parametri și răspunsuri.
Calea utilizează sintaxa {{param}} a Restorm: de îndată ce
tastați {{id}} în cale, parametrul corespunzător apare; eliminarea lui
îl suprimă.
Parametrii
Section titled “Parametrii”Fila Definiție a unei rute listează parametrii săi — parametrii de cale
(creați din placeholderele {{param}}) și parametrii de interogare / antet
pe care îi adăugați cu Adăugați un parametru. Fiecare poartă un nume, un
amplasament (în), caracterul său obligatoriu, o descriere și, opțional,
un exemplu.
Celula Tip este un combo: alegeți un primitiv (string, integer,
number, boolean) sau unul dintre enum-urile denumite ale designului
dintr-un singur clic. Pentru cazurile mai bogate, alegeți Advanced… pentru a
deschide o mică fereastră în care puteți:
- transforma parametrul într-un array și alege tipul său de element
(
array<string>, …) — un parametru de interogare cu valori multiple; - îi da valori de enumerare inline (setul permis, listat sub formă de jetoane) atunci când nu este tipizat de un enum denumit;
- Extrageți către un enum denumit — promovați aceste valori inline la un enum partajat (vedeți Modele și enum-uri).
Un parametru poate fi de asemenea legat de o proprietate de model (coloana Legătură model), de la care moștenește tipul, sau marcat ca depreciat. Fiecare parametru — tipul său, enum-ul său, deprecierea sa — se regăsește în documentația generată și în fiecare proiecție de protocol.
Generarea CRUD-ului
Section titled “Generarea CRUD-ului”Din setările unui model, Generați CRUD-ul creează cu un clic un grup de rute denumit după pluralul modelului, cu șase rute:
| Rută | Metodă și cale | Răspunsuri |
|---|---|---|
| Listare | GET / (paginat) | 200 |
| Recuperare | GET /{{id}} | 200 · 404 |
| Creare | POST / | 201 |
| Înlocuire | PUT /{{id}} | 200 · 404 |
| Actualizare | PATCH /{{id}} | 200 · 404 |
| Ștergere | DELETE /{{id}} | 204 · 404 |
Lista este paginată (decalaj/offset, 20 de elemente implicit, 100 la
maximum). Fiecare {{id}} este automat legat de identificatorul
modelului.
Caseta de dialog Generați CRUD-ul propune două opțiuni:
- Înlocuiți rutele existente — pentru a evita duplicatele dacă regenerați.
- Protejați rutele de scriere prin autentificare — crearea, înlocuirea, actualizarea și ștergerea cer atunci un token (bearer), în timp ce citirile rămân publice.
Reamintește de asemenea că CRUD-ul este servit în fiecare protocol: rute REST, interogări și mutații GraphQL, metode gRPC, set de entități OData și operațiuni SOAP (vedeți Servirea designului ca mock).
Generarea rutelor de căutare
Section titled “Generarea rutelor de căutare”Pentru fiecare proprietate marcată ca searchable, Generați rutele de căutare adaugă un parametru de interogare legat de ruta de listare a modelului (și creează acea rută dacă nu există încă).
Autentificare
Section titled “Autentificare”Autentificarea se reglează pe trei niveluri: o valoare implicită a designului, o autentificare necesară pe grup, și o înlocuire pe rută (care moștenește de la grupul implicit). Modurile disponibile sunt Niciunul, Bearer (JWT), Cheie API (antet) și Basic.
Etichetele
Section titled “Etichetele”Etichetele grupează rutele pentru documentație și pentru exportul OpenAPI. Ele există pe două niveluri: o rută poartă etichetele proprii (fila sa Definiție), iar un grup poartă etichete partajate (setările sale) aplicate fiecărei rute pe care o conține. Etichetele efective ale unei rute sunt reuniunea celor două — de aceea o etichetă comună întregului grup se pune de preferință o singură dată pe grup. Atunci când transformați o API importată într-un design, o etichetă prezentă pe toate rutele unui grup este remontată automat pe grup.
Deprecierea
Section titled “Deprecierea”O rută (precum o proprietate sau un parametru) poate fi marcată ca depreciată
din Setările sale. O rută depreciată apare estompată în lista de Rute și
în clienții generați și poartă un avertisment de depreciere pe fila sa.
Indicatorul se propagă în fiecare proiecție de protocol — deprecated din
OpenAPI, directiva @deprecated din GraphQL, descriptorii SOAP și gRPC și
metadatele OData — pentru ca consumatorii oricărui protocol servit să îl vadă.