Danilo Lato
Published on

JSON server in pochi minuti

Authors

Ultimamente, come front-end developer, mi sono ritrovato nella situazione di dover sviluppare applicazioni che devono interagire, attraverso REST API, con un server. Purtroppo però le API non erano ancora funzionanti. Aspettare che fossero pronte avrebbe rallentato o bloccato del tutto lo sviluppo dell’app.

Per ovviare a questo problema mi sono servito di JSON Server. JSON Server è un progetto semplice che ci permette di creare, in pochissimi minuti, un server rest che gira in locale (ma che può essere anche esportato) su cui possiamo svolgere operazioni CRUD. Link github della repo: https://github.com/typicode/json-server .

Installazione

Json-server è disponibile come pacchetto npm. E può essere installato utilizzando il gestore di pacchetti Node.js lanciando il seguente comando nel terminale che installerà globalmente il pacchetto sul nostro sistema.

npm install -g json-server

File json

Dopo aver installato il pacchetto, creiamo un nuovo file json (e.g db.json), nella posizione che preferiamo. Questo file json conterrà i dati che saranno esposti dall’API REST. Esempio:

//db.json
{
  "posts": [
    { "id": 1, "title": "Json-server", "author": "pippo" },
    { "id": 2, "title": "Hello-word", "author": "pippo" },
    { "id": 3, "title": "Amazing-post", "author": "pluto" }
  ]
}

In questo esempio abbiamo un oggetto “posts” a cui sono assegnati tre set di dati che contengono ognuno 3 proprietà (id, title, author).

json-server --watch db.json

Se tutto è andato a buon fine, dovremmo avere questo risultato nel terminale:

Json-server

Il server è avviato correttamente ed è raggiungibile dall’URL: http://localhost:3000/

Come possiamo notare dalla risposta del terminale, json-server ha creato in automatico un end point “posts” che è quindi stata riconosciuta correttamente come una risorsa. Navigando con il browser all’URL http://localhost:3000/posts possiamo notare come il nostro server risponda alla richiesta GET con i dati che abbiamo aggiunto in precedenza nel file db.json.

Json-server

A questo punto abbiamo i seguenti endpoint HTTP che ci permettono di effettuare le nostre operazioni CRUD.

GET/posts
GET/posts/{id}
POST/posts
PUT/posts/{id}
PATCH/posts/{id}
DELETE/posts/{id}

Conclusioni

Attraverso Json-server abbiamo visto quanto sia facile creare un server che esponga REST API con pochissimo tempo e con pochissime configurazioni. Personalmente l’ho trovato uno strumento utilissimo che mi ha permesso di non rallentare lo sviluppo del frontend.