Imagen del artículo Trabajar con rutas en ExpressJS: usar middleware en rutas

7.4. Trabajar con rutas en ExpressJS: usar middleware en rutas

Página 50 | Escuchar en audio

Uno de los aspectos más importantes de la creación de API es definir y manipular rutas. Las rutas son los caminos que toman los usuarios o clientes de una API para acceder a diferentes recursos o funcionalidades. En NodeJS, utilizamos ExpressJS, un marco minimalista y flexible, para manejar rutas de manera eficiente. Una de las características más poderosas de ExpressJS es la capacidad de utilizar middleware en rutas. Exploremos esta funcionalidad en detalle.

¿Qué son los middlewares?

En términos simples, los middlewares son funciones que tienen acceso al objeto de solicitud (req), al objeto de respuesta (res) y a la siguiente función de middleware en el ciclo de solicitud/respuesta de la aplicación. Se utilizan para modificar req y res, o para finalizar el ciclo de solicitud/respuesta. Si un middleware no finaliza el ciclo, debe llamar a next() para pasar el control al siguiente middleware.

Uso de middlewares en rutas

El middleware en ExpressJS se puede aplicar globalmente o a rutas específicas. Para aplicar middleware a una ruta específica, simplemente páselo como argumento adicional al controlador de ruta. Por ejemplo:

app.get('/ejemplo', función middleware, (req, res) => {
  res.send('¡Hola mundo!');
});

En este caso, middlewareFunction es una función que se ejecutará antes que el controlador de ruta. Puede modificar el objeto req o res, o incluso finalizar la solicitud y enviar una respuesta.

Ejemplos de middleware

Existen muchos usos prácticos para el middleware en las rutas. A continuación se muestran algunos ejemplos:

Autenticación

Un middleware de autenticación puede verificar que un usuario esté autenticado antes de permitirle acceder a una ruta. Si el usuario no está autenticado, el middleware puede finalizar la solicitud y enviar una respuesta de error. Si el usuario está autenticado, el middleware puede agregar información del usuario al objeto req para que el controlador de ruta pueda usarlo.

Validación de datos

Un middleware de validación de datos puede verificar que los datos enviados en una solicitud POST o PUT sean válidos. Si los datos no son válidos, el middleware puede finalizar la solicitud y enviar una respuesta de error. Si los datos son válidos, el middleware puede pasar el control al siguiente middleware o controlador de ruta.

Registro

Un middleware de registro puede registrar detalles sobre cada solicitud en un archivo o base de datos. Esto puede resultar útil para depurar o mantener un registro de todas las solicitudes que llegan al servidor.

Conclusión

Los middlewares proporcionan una manera poderosa de agregar funcionalidad a sus rutas en ExpressJS. Le permiten reutilizar la lógica en múltiples rutas mientras mantiene su código DRY (No se repita). Además, pueden ayudar a mejorar la seguridad de su API al garantizar que solo los usuarios autenticados puedan acceder a ciertas rutas y que los datos enviados a su API sean siempre válidos.

Espero que este capítulo le haya brindado una buena comprensión de cómo trabajar con rutas en ExpressJS y cómo usar middleware en rutas. En el próximo capítulo, profundizaremos en ExpressJS y exploraremos algunas de sus otras potentes funciones.

Ahora responde el ejercicio sobre el contenido:

¿Qué son los Middlewares en el contexto de ExpressJS y cómo se utilizan?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Trabajar con rutas en ExpressJS: trabajar con rutas de autenticación

Siguiente página del libro electrónico gratuito:

51Trabajar con rutas en ExpressJS: trabajar con rutas de autenticación

4 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.