Ga naar inhoud

Modellen, enums en eigenschappen

De modellen beschrijven de gegevens van uw API. Een model draagt getypeerde eigenschappen, en deze eigenschappen kunnen andere modellen of enums refereren.

De sectie Modellen: de lijst met eigenschappen van een model met hun type, hun vlaggen en een voorbeeld

Een enum is een gesloten verzameling van waarden (bijvoorbeeld een status draft / published / archived). Een ontwerp beheert ze op twee manieren:

  • Benoemde enums — herbruikbaar, eersteklas. Gebruik in de sectie Enums Een enum toevoegen, geef die een naam en een beschrijving, en dan Een waarde toevoegen voor elke ingang. Een eigenschap (of een routeparameter) refereert die daarna via zijn type.
  • Inline enums — een anonieme verzameling die rechtstreeks op één eigenschap wordt gedeclareerd. Op een eigenschap string / integer / number laat een chip-editor Enum-waarden u de toegestane waarden ter plekke opsommen, zonder een benoemd type te maken.

Wanneer een inline enum het waard is om gedeeld te worden, promoveert Naar een benoemde enum extraheren die: het maakt de benoemde enum aan (waarbij een bestaande enum met dezelfde waarden wordt hergebruikt, om duplicaten te vermijden) en herschrijft de eigenschap zodat die ernaar refereert. Ook de routeparameters dragen inline enums en dezelfde actie Extraheren — zie Routes & CRUD.

Selecteer in de sectie Modellen een model: zijn eigenschappen worden getoond in een tabel (Eigenschap, Type, Vlaggen, Voorbeeld). Gebruik Een eigenschap toevoegen om er een te maken.

Een eigenschap kan van het volgende type zijn:

  • een primitief: string, integer, number, boolean;
  • een array (array<…>) of een map (map<…>) van een ander type;
  • een referentie naar een ander model;
  • een referentie naar een enum.

Voor een string kunt u een formaat opgeven: email, uuid, date, date-time, uri, hostname, ipv4, password of byte.

Naast het type accepteert een eigenschap talrijke velden: Beschrijving, Voorbeeld, Standaardwaarde, Minimum / Maximum, Minimumlengte / Maximumlengte, Patroon (regex), Deprecatiebericht, en — voor referenties — een gedrag On delete.

Vlaggen kwalificeren de eigenschap en worden weergegeven als badges: vereist, nullable, uniek, onveranderlijk, searchable (doorzoekbaar — zie Routes & CRUD), verouderd, alleen-lezen, alleen-schrijven, en PII (persoonsgegevens).

Elk model heeft eigen instellingen:

  • Identiteit — de identificerende eigenschap en haar generatie-strategie (uuid, autoIncrement of ulid). Het is deze identificator die verbonden is met de parameters {{id}} van de gegenereerde routes.
  • Overerving — een model kan erven van een ouder; het kind toont de eigenschappen van de ouder alleen-lezen, naast zijn eigen.
  • Opslag & levenscyclus — verwacht volume, tijdstempels (created / updated) en zachte verwijdering (soft delete).

Ook vanuit deze instellingen start men CRUD genereren en De zoekroutes genereren — beschreven op de volgende pagina.