Schnellstart
1. Erstelle deine Datenbankdatei
Abschnitt betitelt „1. Erstelle deine Datenbankdatei“Der init-Befehl erstellt eine fertige db.yml und eine yrest.config.yml im aktuellen Verzeichnis:
npx @yrest/cli initDrei integrierte Templates sind über --sample verfügbar:
| Template | Inhalt |
|---|---|
basic(Standard) |
|
relational |
|
ecommerce |
|
npx @yrest/cli init --sample relational # relationales Templatenpx @yrest/cli init --sample ecommerce # E-Commerce-Templatenpx @yrest/cli init --file api.yml # benutzerdefinierter DateinameDu kannst init auch komplett überspringen und die Datei manuell schreiben — das Format ist einfaches YAML:
users: - id: 1 name: Ana email: ana@test.com - id: 2 name: Luis email: luis@test.com
posts: - id: 1 title: First post userId: 1Jeder Schlüssel auf oberster Ebene, der nicht mit _ beginnt, wird zu einer Collection mit vollständigen CRUD-Routen.
2. Starte den Server
Abschnitt betitelt „2. Starte den Server“npx @yrest/cli serve db.ymlyrest · http://localhost:3070
Collections (base: /): CRUD /users CRUD /posts
Meta: GET /_aboutDer Standardport ist 3070. Er wurde gewählt, um Konflikte mit den gängigsten Entwicklungsports (3000, 3001, 4000, 8080, 8000) zu vermeiden, sodass du yRest neben deinem Frontend-Dev-Server betreiben kannst, ohne etwas konfigurieren zu müssen.
Verfügbare Flags:
| Flag | Standard | Beschreibung |
|---|---|---|
-p, —port <n> | 3070 | Port zum Lauschen |
-H, —host <host> | localhost | Host binden (nutze |
-b, —base <path> | (keiner) | Alle Routen mit Präfix versehen — z. B. |
-w, —watch | aus |
|
-r, —readonly | aus | Alle Schreibvorgänge ablehnen (POST/PUT/PATCH/DELETE → 405) |
-d, —delay <ms> | 0 | Feste Latenz zu jeder Antwort hinzufügen |
—pageable [limit] | aus | Listen in |
—snapshot | aus |
|
—handlers <file> | (keiner) | Pfad zu einer |
—id-strategy <s> | increment |
|
Optionen können auch in yrest.config.yml gesetzt werden, damit du sie nicht bei jedem Start wiederholen musst. CLI-Flags haben immer Vorrang vor der Konfigurationsdatei.
3. Benutze die API
Abschnitt betitelt „3. Benutze die API“Jede Collection erhält automatisch die vollständige REST-Oberfläche. Hier sind die häufigsten Operationen für die users-Collection aus dem obigen Beispiel:
# Alle Benutzer auflistencurl http://localhost:3070/users
# Einen Benutzer nach ID abrufencurl http://localhost:3070/users/1
# Nach Feldwert filterncurl "http://localhost:3070/users?name_like=ana"
# Paginierencurl "http://localhost:3070/users?_page=1&_limit=10"
# Sortierencurl "http://localhost:3070/users?_sort=name&_order=asc"
# Einen neuen Benutzer erstellen (ID wird automatisch vergeben)curl -X POST http://localhost:3070/users \ -H "Content-Type: application/json" \ -d '{"name":"Carlos","email":"carlos@test.com"}'
# Teilweise aktualisierencurl -X PATCH http://localhost:3070/users/1 \ -H "Content-Type: application/json" \ -d '{"name":"Ana Aktualisiert"}'
# Löschencurl -X DELETE http://localhost:3070/users/1Änderungen über POST/PUT/PATCH/DELETE werden in Echtzeit in db.yml gespeichert. Starte den Server neu, um die ursprünglichen Daten wiederherzustellen, oder aktiviere --snapshot und rufe POST /_snapshot auf, um den aktuellen Zustand explizit zu speichern.
4. Erforsche die API-Übersicht
Abschnitt betitelt „4. Erforsche die API-Übersicht“Öffne http://localhost:3070/_about in deinem Browser.
Diese eingebaute Seite zeigt alle generierten Endpunkte gruppiert nach Collection, die aktiven Server-Modi, alle in _routes definierten benutzerdefinierten Routen und fertige curl-Beispiele für jede Operation. Sie aktualisiert sich automatisch, wenn der Server neu lädt — nützlich als schnelle Referenz während du dein Frontend baust.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Konfiguration — alle
yrest.config.yml-Optionen - Datenbankformat — lerne das vollständige YAML-Schema
- Abfrageparameter — Filter, Sortierung, Paginierung, Projektion
- Relationen — verknüpfe Collections mit
_rel - Eigene Routen — füge Nicht-CRUD-Endpunkte hinzu
- Programmatische API — in Vitest und Playwright verwenden