MIDDLEWARE: QUÉ ES, CÓMO FUNCIONA Y EJEMPLOS

Un Middleware es una función que se ejecuta entre la petición del cliente y la respuesta del servidor,es decir, es el código que se ejecuta antes de llegar al endpoint principal. actuando como un filtro o capa intermedia que puede:
  • Modificar la petición (request)
  • Modificar la respuesta (response).
  • Validar datos.
  • Registrar información.
  • Bloquear o permitir el acceso.
  • Agregar funcionalidades comunes.
El Middleware es uno de los patrones más elegantes y útiles en el desarrollo backend moderno. Permite transformar una aplicación desordenada en un sistema limpio, modular y fácil de mantener. Gracias a los middlewares, conceptos como autenticación, logging y validación se convierten en piezas reutilizables que se aplican de forma elegante sin contaminar la lógica principal de las rutas.

¿Cómo funciona un Middleware?

El flujo típico de un middleware es el siguiente:
  1. Intermediario: Se ejecuta antes de llegar al controlador o endpoint final.
  2. Procesamiento de datos: Puede leer, modificar, validar o enriquecer la petición.
  3. Decisión: Decide si permite continuar o bloquea el acceso (por ejemplo, con un error 401 o 403).
  4. Continuación: Si todo está correcto, llama a next() para pasar al siguiente middleware o al endpoint final.
Este mecanismo permite crear un flujo ordenado y modular de procesamiento. Usos más comunes del MiddlewareAutenticación y autorización Logging (registro de solicitudes) Validación de datos Manejo de errores CORS (Cross-Origin Resource Sharing) Compresión de respuestas Rate limiting (limitar peticiones)

Ventajas del Middleware

  • Reutilizable: Se puede aplicar en múltiples rutas.
  • Organiza el código: Evita duplicar lógica en cada endpoint.
  • Centraliza lógica común: Seguridad, logging, validaciones, etc.
  • Mejora la seguridad del aplicación.
  • Facilita el mantenimiento.

Desventajas del Middleware

  • Puede complicar el flujo si se abusa de ellos.
  • Difícil de depurar cuando hay muchos middlewares encadenados.
  • El orden en que se aplican es muy importante.
  • Si se sobrecarga, puede afectar el rendimiento.

Claves para usar Middleware correctamente

  • Usarlos solo cuando sean necesarios.
  • Mantener cada middleware simple y con una sola responsabilidad.
  • Respeta el orden correcto de ejecución.
  • Dividir responsabilidades: no hacer que un middleware haga demasiadas cosas.

Posts relacionados