ZioMark's HUB | Sezione Learning
  • 📖Introduzione
  • 📟Strumenti
  • HTML
    • Parte 1: Introduzione a HTML
    • Parte 2: Tabelle, Form e <a>
    • Parte 3: Attributi di <a>
    • Parte 4: L'Elemento <img>
  • CSS
    • Parte 1: Introduzione a CSS
    • Parte 2: Tailwind CSS
    • Parte 3: Responsive Design e Media Query
  • JAVASCRIPT
    • Parte 1: Introduzione a JS
    • Parte 2: Lo storage locale
    • NODE.JS
      • Parte 1: Introduzione a Node.js
      • Parte 2: Integrazione con SQLite
    • EXPRESS.JS
      • Parte 1: Introduzione a Express.js
      • Parte 2: Introduzione ai Middleware
  • PHP
    • Parte 1: Introduzione a PHP
    • Lezione Bonus: PHP
  • SQL
    • ▫️Strumenti SQL
    • Parte 1: Introduzione a SQL
    • Parte 2: Query di Selezione
    • Parte 3: Join in SQL
Powered by GitBook
On this page
  • Cosa è un Middleware?
  • Implementare Middleware Base in Express
  • Middleware per la Gestione degli Errori
  • Esercizio: Creazione di Middleware Personalizzato
  • Conclusione

Was this helpful?

  1. JAVASCRIPT
  2. EXPRESS.JS

Parte 2: Introduzione ai Middleware

Benvenuti alla nostra lezione su middleware in Node.js utilizzando il framework Express.

I middleware sono funzioni che hanno accesso agli oggetti di richiesta (request), risposta (response), e alla prossima funzione middleware nel ciclo di richiesta-risposta dell'applicazione. Sono uno strumento essenziale per effettuare il preprocessing delle richieste, gestire le risposte, e organizzare il codice in maniera modulare.

Cosa è un Middleware?

Un middleware è una funzione che viene eseguita tra la ricezione della richiesta e l'invio della risposta nel tuo application server. Questi possono eseguire le seguenti operazioni:

  • Eseguire qualsiasi codice.

  • Modificare gli oggetti di richiesta e risposta.

  • Terminare il ciclo di richiesta-risposta.

  • Chiamare il prossimo middleware nella pila.

Se il middleware non termina il ciclo di richiesta-risposta, deve chiamare next() per passare il controllo al prossimo middleware, altrimenti la richiesta rimarrà sospesa.

Implementare Middleware Base in Express

Express è un framework che rende molto semplice implementare middleware. Qui vediamo come aggiungere un middleware semplice che registra la data e l'ora di ogni richiesta.

  1. Crea un file app.js: Inizia creando un nuovo progetto Express se non l'hai già fatto:

    mkdir mioProgettoExpress
    cd mioProgettoExpress
    npm init -y
    npm install express
    touch app.js
  2. Aggiungi il Middleware per il Logging: Nel file app.js, configura il tuo server Express e aggiungi un middleware che stampa la data e l'ora attuali:

    const express = require('express');
    const app = express();
    const port = 3000;
    
    // Middleware che logga la data e l'ora delle richieste
    app.use((req, res, next) => {
      console.log('Time:', Date.now());
      next();
    });
    
    app.get('/', (req, res) => {
      res.send('Home Page');
    });
    
    app.get('/about', (req, res) => {
      res.send('About Page');
    });
    
    app.listen(port, () => {
      console.log(`Server running on http://localhost:${port}`);
    });

Middleware per la Gestione degli Errori

I middleware non sono utili solo per loggare o modificare le richieste; possono anche gestire gli errori. Express ha una particolarità: i middleware che gestiscono gli errori hanno quattro argomenti invece di tre. L'argomento aggiuntivo è l'errore che viene passato.

// Middleware per la gestione degli errori
app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).send('Something broke!');
});

Esercizio: Creazione di Middleware Personalizzato

Prova a creare un middleware che controlla se una richiesta contiene un certo header, e se non è presente, invia una risposta con status 400 (Bad Request). Questo esercizio ti aiuterà a comprendere come i middleware possono essere usati per validare le richieste in ingresso.

app.use((req, res, next) => {
  if (!req.headers['x-custom-header']) {
    res.status(400).send('Bad Request: Missing x-custom-header');
  } else {
    next();
  }
});

Conclusione

Con questa lezione, hai imparato cos'è un middleware, come implementarlo in un'applicazione Express, e come può essere utilizzato per migliorare la gestione delle richieste e delle risposte. I middleware sono potenti strumenti per costruire applicazioni web robuste e sicure.

Continua a esplorare e a sperimentare con i middleware in Express per scoprire come possono migliorare ulteriormente le tue applicazioni!

PreviousParte 1: Introduzione a Express.jsNextPHP

Last updated 1 year ago

Was this helpful?