Guía de enrutamiento y middleware en Express

El enrutamiento y el middleware son dos conceptos importantes en Node.js y el marco Express para crear aplicaciones web.

Enrutamiento:

  • El enrutamiento es el proceso de determinar cómo manejar las solicitudes del cliente y responder con los recursos correspondientes en el servidor.
  • En Express, podemos definir rutas especificando el método HTTP (GET, POST, PUT, DELETE, etc.) y la ruta URL correspondiente.
  • Cada ruta puede tener una o más funciones de controlador para realizar tareas como el procesamiento de solicitudes, el acceso a la base de datos y el envío de respuestas al cliente.

Programa intermedio:

  • El middleware son funciones que se ejecutan en una secuencia antes de que la solicitud llegue al controlador de ruta final.
  • Se utilizan para realizar funcionalidades comunes y manejar tareas intermedias como autenticación, registro, manejo de errores, etc.
  • El middleware se puede aplicar a toda la aplicación o se puede especificar para rutas específicas.
  • Cada middleware recibe los parámetros req (solicitud) y res (respuesta) y puede realizar el procesamiento, pasar la solicitud al siguiente middleware o finalizar el procesamiento enviando una respuesta al cliente.

Ejemplo de combinación de enrutamiento y middleware en Express:

const express = require('express');
const app = express();

// Middleware
const loggerMiddleware = (req, res, next) => {
  console.log('A new request has arrived!');
  next();
};

// Apply middleware to the entire application
app.use(loggerMiddleware);

// Main route
app.get('/', (req, res) => {
  res.send('Welcome to the homepage!');
});

// Another route
app.get('/about', (req, res) => {
  res.send('This is the about page!');
});

// Start the server
app.listen(3000, () => {
  console.log('Server is listening on port 3000...');
});

En este ejemplo, hemos definido un middleware personalizado loggerMiddlewarepara registrar cada nueva solicitud que llega al servidor. Este middleware se aplica a toda la aplicación utilizando el app.use()método. Luego, hemos definido dos rutas, una para la página principal ( '/') y otra para la página de información ( '/about'). Finalmente, iniciamos el servidor y escuchamos en el puerto 3000.

El middleware loggerMiddlewarese ejecutará para cada solicitud, registrando un mensaje en la consola antes de pasar la solicitud al controlador de ruta o middleware correspondiente en la secuencia.

Esta combinación de enrutamiento y middleware nos permite manejar diferentes solicitudes y realizar tareas comunes de manera eficiente en una aplicación Express.