Introduzione
yRest è un server REST API mock senza configurazione per sviluppatori frontend. Legge un file db.yml ed espone automaticamente una REST API CRUD completa — incluse relazioni, parametri di query, paginazione, stream SSE e route statiche personalizzate — senza bisogno di un backend.
npx @yrest/cli serve db.yml# → REST API su http://localhost:3070Quando usarlo
Sezione intitolata “Quando usarlo”- Stai costruendo un frontend e hai bisogno di un’API realistica prima che il backend sia pronto.
- Hai bisogno di un mock prevedibile per test di integrazione (Vitest, Playwright, Cypress).
- Vuoi fare una demo di un flusso UI senza mantenere un server reale.
- Hai bisogno di SSE o di un comportamento di endpoint personalizzato che
json-servernon può gestire.
Confronto
Sezione intitolata “Confronto”Sia yRest che json-server condividono la stessa filosofia zero-config — puntali a un file di dati e ottieni subito una REST API. La differenza sta in quanto lontano arriva ciascuno. yRest estende il modello con un sistema di relazioni più ricco, operatori di query tipizzati, stream SSE, scenari mock condizionali e una API programmatica completa. Se json-server copre le tue esigenze, continua a usarlo. Se hai raggiunto i suoi limiti, yRest è il passo successivo.
| Funzionalità | yRest | json-server |
|---|---|---|
| Database YAML | ||
| Zero config | ||
| CRUD completo | ||
Operatori di campo (_gte, _like, _regex…) | ||
| Relazioni: many2one, one2one, many2many | ||
Auto-embedding (_nested: true) | ||
Proiezione di campi (_fields) | ||
| Modalità paginabile (risposta envelope) | ||
Route personalizzate (_routes) | ||
Variabili di template ({{}params.id}}) | ||
| Scenari condizionali | ||
| Funzioni handler | ||
Route SSE (_method: SSE) | ||
| Endpoint snapshot | ||
| Export OpenAPI 3.0 | ||
| API programmatica per framework di test | ||
| Tipi TypeScript |
Installazione
Sezione intitolata “Installazione”Aggiungi yRest al tuo progetto come dipendenza di sviluppo:
npm install -D @yrest/cliOppure eseguilo direttamente senza installare — utile per una prova rapida:
npx @yrest/cli serve db.ymlUna volta installato, crea i file di avvio e lancia il server:
npx @yrest/cli init # crea db.yml + yrest.config.yml nella directory correntenpx @yrest/cli serve db.yml # → REST API su http://localhost:3070Il server osserva le modifiche a db.yml e si ricarica automaticamente. Vai all’Avvio rapido per una guida passo dopo passo con un esempio reale.