Zum Inhalt springen

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.

Terminal-Fenster
npx @yrest/cli serve db.yml
# → REST API unter http://localhost:3070
  • 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-server nicht bieten kann.

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.

FunktionyRestjson-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

Füge yRest als Entwicklungsabhängigkeit zu deinem Projekt hinzu:

Terminal-Fenster
npm install -D @yrest/cli

Oder führe es direkt ohne Installation aus — nützlich für einen schnellen Test:

Terminal-Fenster
npx @yrest/cli serve db.yml

Nach der Installation erstelle die Startdateien und starte den Server:

Terminal-Fenster
npx @yrest/cli init # erstellt db.yml + yrest.config.yml im aktuellen Verzeichnis
npx @yrest/cli serve db.yml # → REST API unter http://localhost:3070

Der Server überwacht Änderungen an db.yml und lädt automatisch neu. Gehe zum Schnellstart für eine schrittweise Anleitung mit einem echten Beispiel.