API scalabile node ed express  - nodeScalabile - RESTFul API con node.js ed express.js – Parte 2

RESTFul API con node.js ed express.js – Parte 2

Nella prima parte dell’articolo RESTFul API con node.js ed express.js – Parte 1 abbiamo visto l’approccio per creare un servizio RESTFul con node.js ed express.js, dall’installazione delle librerie, al classico Hello World!

Oggi vediamo come migliorare la struttura delle nostre API in modo da renderla scalabile. Aggiungiamo un Middleware per ottimizzare i flussi di lavoro, per rendere più ordinato il codice ma sopratutto per renderlo scalabile.

Middleware

Il middleware è un insieme di funzioni che hanno accesso agli oggetti richiesta e risposta e vengono richiamate per l’esecuzione di specifiche operazioni;

Creiamo il Middleware per gestire il routing delle API, spostandolo da punto di accesso (app.js) dell’app.
All’interno della cartella del progetto, creo una sottocartella chiamata routes e al suo interno creo il file index.js, nel quale scrivo:

import express from 'express';

const router = express.Router();

Ho creato un gestore per il routing. Ora sposto dal file app.js a questo file il routing ed esporto questo gestore per poter essere utilizzato nell’intero progetto:

routing.get('/', function (req, res) {
   res.status(200).send({
      success: 'true',
      message: 'Hello World!'
   })
});
module.exports = router;

allo stesso modo nel file app.js, od ovunque mi serva, devo importare il gestore e usarlo nell’app:

const router = require('./routes/index.js');

app.use(router);

In questo modo si può vedere come risulti molto pulito il codice del file app.js:

const express   = require('express');
const bodyParse = require('body-parser');
const router    = require('./routes/routes.js');

const app  = express();
const PORT = 5000;

//Parse incoming request
app.use(bodyParse.json());
app.use(bodyParse.urlencoded({extended: false}));
app.use(router);


app.listen(PORT, () => {
    console.log(`server running on port ${PORT}`)
});

sfruttando le caratteristiche del Middleware otteniamo un punto di accesso chiaro e pulito, senza eccessive necessità di modifiche e possibilità di implementare il codice in modo ordinato.

const express = require('express');

const router = express.Router();

routing.get('/', function (req, res) {
  res.status(200).send({
    success: 'true',
    message: 'Hello World!'
  })
});
//Export Module
module.exports = router;

Nella prossima parte, andremo a vedere come implementare delle classi e le relative funzioni per distribuire e ottimizzare ulteriormente il codice. Tutto questo per arrivare ad avere una struttura altamente scalabile e replicabile per tutti i nostri progetti.

0 0 vote
Article Rating
Seguici e condividi su:
onpost_follow  - icon Follow en US - RESTFul API con node.js ed express.js – Parte 2
Tweet  - en US Tweet - RESTFul API con node.js ed express.js – Parte 2
- en US save - RESTFul API con node.js ed express.js – Parte 2
Share  - en US share - RESTFul API con node.js ed express.js – Parte 2
Subscribe
Notificami
guest
0 Commenti
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x