API con NodeJS

NodeJS

Introduzione

Scrivere su un file


node app.js

Request & response



Express
npm init

package.json

npm install

app.js

node app.js

Aggiungiamo un altro middleware:
Nota: l'applicazione deve essere riavviata



nodemon
npm install nodemon --save-dev

npm start

body-parser
npm install body-parser --save



REST API

Endpoints

/api/products/...

GET ../:pid
Restituisce il prodotto :pid

GET ../user/:uid
Restituisce una lista di tutti i prodotti dell'utente uid

POST ../
Crea un nuovo prodotto

PATCH ../:pid
Modifica un prodotto esistente

DELETE ../:pid
Elimina un prodotto


Creazione del progetto
mkdir backend
cd backend
npm init
npm install --save express body-parser
npm install --save-dev nodemon

Nome del progetto: backend

Rotta di base

/routes/products.js

app.js

http://localhost:5100/api/products





Get Product

routes/products.js

http://localhost:5100/api/products/3456




Get Product by User

http://localhost:5100/api/products/user/u1




Gestire gli errori



Controller Products

controllers/products.js

routes/products.js

Nuovo prodotto
Aggiungiamo una rotta:

Interponiamo il middleware di bodyParser:

Creiamo la nuova azione nel controller:


npm install --save uuid

Universally Unique Identifier



Patch Product
Dentro al controller:


Nel router:
Nel controller:

Delete Product

Nel router:

Nel controller:

L'array dei prodotti non può più essere  definito come costante:


Modifiche a get by user




MongoDB

Installazione di Mongoose
npm install --save mongoose

app.js:

Connessione al database










Schema e Model
models/product.js:

nel controller:




Create

Read


Get by User

Update



Delete