Μετάβαση στο περιεχόμενο

Μοντέλα, enums και ιδιότητες

Τα μοντέλα περιγράφουν τα δεδομένα του API σας. Ένα μοντέλο φέρει τυποποιημένες ιδιότητες, και αυτές οι ιδιότητες μπορούν να αναφέρονται σε άλλα μοντέλα ή σε enums.

Η ενότητα Μοντέλα: η λίστα των ιδιοτήτων ενός μοντέλου με τον τύπο τους, τις σημαίες τους και ένα παράδειγμα

Ένα enum είναι ένα κλειστό σύνολο τιμών (για παράδειγμα μια κατάσταση draft / published / archived). Ένα σχέδιο τα διαχειρίζεται με δύο τρόπους:

  • Ονομασμένα enums — επαναχρησιμοποιήσιμα και πρώτης τάξης. Από την ενότητα Enums, χρησιμοποιήστε το Προσθήκη enum, δώστε του ένα όνομα και μια περιγραφή, και έπειτα Προσθήκη τιμής για κάθε καταχώριση. Μια ιδιότητα (ή μια παράμετρος διαδρομής) το αναφέρει στη συνέχεια μέσω του τύπου της.
  • Inline enums — ένα ανώνυμο σύνολο που δηλώνεται απευθείας πάνω σε μια ιδιότητα. Σε μια ιδιότητα τύπου string / integer / number, ένας επεξεργαστής chip Τιμές enum σας επιτρέπει να απαριθμήσετε τις επιτρεπόμενες τιμές επί τόπου, χωρίς να δημιουργήσετε έναν ονομασμένο τύπο.

Όταν ένα inline enum αξίζει να μοιραστεί, το Εξαγωγή σε ονομασμένο enum το προάγει: δημιουργεί το ονομασμένο enum (επαναχρησιμοποιώντας ένα υπάρχον enum με τις ίδιες τιμές, για την αποφυγή διπλότυπων) και ξαναγράφει την ιδιότητα ώστε να το αναφέρει. Οι παράμετροι διαδρομής φέρουν επίσης inline enums και την ίδια ενέργεια Εξαγωγή — δείτε Διαδρομές & CRUD.

Οι ιδιότητες ενός μοντέλου

Section titled “Οι ιδιότητες ενός μοντέλου”

Στην ενότητα Μοντέλα, επιλέξτε ένα μοντέλο: οι ιδιότητές του εμφανίζονται σε έναν πίνακα (Ιδιότητα, Τύπος, Σημαίες, Παράδειγμα). Χρησιμοποιήστε το Προσθήκη ιδιότητας για να δημιουργήσετε μία.

Μια ιδιότητα μπορεί να είναι τύπου:

  • ένα πρωτόγονο: string, integer, number, boolean·
  • ένας πίνακας (array<…>) ή ένα map (map<…>) ενός άλλου τύπου·
  • μια αναφορά προς ένα άλλο μοντέλο·
  • μια αναφορά προς ένα enum.

Για ένα string, μπορείτε να προσδιορίσετε μια μορφή: email, uuid, date, date-time, uri, hostname, ipv4, password ή byte.

Πέρα από τον τύπο, μια ιδιότητα δέχεται πολλά πεδία: Περιγραφή, Παράδειγμα, Προεπιλεγμένη τιμή, Ελάχιστο / Μέγιστο, Ελάχιστο μήκος / Μέγιστο μήκος, Μοτίβο (regex), Μήνυμα κατάργησης, και — για τις αναφορές — μια συμπεριφορά On delete.

Οι σημαίες χαρακτηρίζουν την ιδιότητα και εμφανίζονται με τη μορφή σημάτων (badges): απαιτούμενο, nullable, unique, αμετάβλητο, searchable (αναζητήσιμο — δείτε Διαδρομές & CRUD), καταργημένο, μόνο ανάγνωση, μόνο εγγραφή, και PII (προσωπικό δεδομένο).

Ταυτότητα και κληρονομικότητα

Section titled “Ταυτότητα και κληρονομικότητα”

Κάθε μοντέλο έχει τις δικές του ρυθμίσεις:

  • Ταυτότητα — η αναγνωριστική ιδιότητα και η στρατηγική παραγωγής της (uuid, autoIncrement ή ulid). Αυτό το αναγνωριστικό είναι που συνδέεται με τις παραμέτρους {{id}} των παραγόμενων διαδρομών.
  • Κληρονομικότητα — ένα μοντέλο μπορεί να κληρονομεί από έναν γονέα· το παιδί εμφανίζει τις ιδιότητες του γονέα μόνο για ανάγνωση, επιπλέον των δικών του.
  • Αποθήκευση & κύκλος ζωής — αναμενόμενος όγκος, χρονοσημάνσεις (created / updated) και ήπια διαγραφή (soft delete).

Από αυτές τις ρυθμίσεις επίσης εκκινείται το Παραγωγή CRUD και το Παραγωγή διαδρομών αναζήτησης — που περιγράφονται στην επόμενη σελίδα.