Einführung
yRest ist ein Zero-Config-REST-API-Mock-Server für Frontend-Entwickler. Er liest eine db.yml-Datei und stellt automatisch eine vollständige CRUD-REST-API bereit — einschließlich Relationen, Abfrageparameter, Paginierung, SSE-Streams und benutzerdefinierter statischer Routen — ohne Backend.
npx @yrest/cli serve db.yml# → REST API unter http://localhost:3070Wann verwenden
Abschnitt betitelt „Wann verwenden“- Du baust ein Frontend und brauchst eine realistische API, bevor das Backend fertig ist.
- Du benötigst einen vorhersehbaren Mock für Integrationstests (Vitest, Playwright, Cypress).
- Du möchtest einen UI-Flow demonstrieren, ohne einen echten Server zu betreiben.
- Du brauchst SSE oder benutzerdefiniertes Endpoint-Verhalten, das
json-servernicht bieten kann.
Vergleich
Abschnitt betitelt „Vergleich“Sowohl yRest als auch json-server verfolgen dieselbe Zero-Config-Philosophie — zeige auf eine Datendatei und erhalte sofort eine REST-API. Der Unterschied liegt darin, wie weit jedes Tool geht. yRest erweitert das Modell mit einem reichhaltigeren Relationssystem, typisierten Abfrageoperatoren, SSE-Streams, bedingten Mock-Szenarien und einer vollständigen programmatischen API. Wenn json-server deinen Anforderungen entspricht, nutze es weiter. Wenn du an seine Grenzen gestoßen bist, ist yRest der nächste Schritt.
| Funktion | yRest | json-server |
|---|---|---|
| YAML-Datenbank | ||
| Zero Config | ||
| Vollständiges CRUD | ||
Feldoperatoren (_gte, _like, _regex…) | ||
| Relationen: many2one, one2one, many2many | ||
Auto-Embedding (_nested: true) | ||
Feldprojektion (_fields) | ||
| Pageable-Modus (Envelope-Antwort) | ||
Eigene Routen (_routes) | ||
Template-Variablen ({{}params.id}}) | ||
| Bedingte Szenarien | ||
| Handler-Funktionen | ||
SSE-Routen (_method: SSE) | ||
| Snapshot-Endpunkte | ||
| OpenAPI-3.0-Export | ||
| Programmatische API für Test-Frameworks | ||
| TypeScript-Typen |
Installation
Abschnitt betitelt „Installation“Füge yRest als Entwicklungsabhängigkeit zu deinem Projekt hinzu:
npm install -D @yrest/cliOder führe es direkt ohne Installation aus — nützlich für einen schnellen Test:
npx @yrest/cli serve db.ymlNach der Installation erstelle die Startdateien und starte den Server:
npx @yrest/cli init # erstellt db.yml + yrest.config.yml im aktuellen Verzeichnisnpx @yrest/cli serve db.yml # → REST API unter http://localhost:3070Der Server überwacht Änderungen an db.yml und lädt automatisch neu. Gehe zum Schnellstart für eine schrittweise Anleitung mit einem echten Beispiel.