Torna al blog
Node.jsExpressBackend

Express: il pattern middleware spiegato

MUSTNODE SRL6 min di lettura

Una catena di funzioni

Il cuore di Express e il concetto di middleware: funzioni che ricevono la richiesta, la risposta e una funzione next. Ogni middleware puo leggere o modificare la richiesta, terminarla o passarla al successivo, formando una catena che elabora ogni chiamata.

La firma del middleware

Un middleware ha sempre la stessa struttura. Chiamare next() passa il controllo al prossimo anello; non chiamarlo significa interrompere la catena (ad esempio inviando una risposta).

function logger(req, res, next) {
  console.log(`${req.method} ${req.url}`);
  next();
}

app.use(logger);

Casi d'uso tipici

I middleware si usano per le esigenze trasversali a tutte le rotte:

  • Logging delle richieste in ingresso.
  • Autenticazione e verifica dei permessi.
  • Parsing del corpo della richiesta (express.json()).
  • Gestione degli errori centralizzata.

Il middleware di errore

Un middleware con quattro parametri viene riconosciuto da Express come gestore degli errori. Registrandolo per ultimo, intercetta tutto cio che gli step precedenti passano con next(err).

app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).json({ errore: "Errore interno" });
});

L'ordine di registrazione e tutto: i middleware vengono eseguiti nella sequenza in cui sono dichiarati. In MUSTNODE SRL sfruttiamo questo pattern per mantenere le API Express ordinate, con logica di autenticazione, logging ed errori isolata e riutilizzabile.

Articoli correlati

Altri approfondimenti dalla categoria Backend & Java.