Routing y middleware son dos conceptos importantes en Node.js y el Express marco para crear aplicaciones web.
Routing:
- Routing 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.
Middleware:
- 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.
- Middleware puede aplicarse a toda la aplicación o especificarse para rutas específicas.
- Cada uno 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 combinando Routing 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 una costumbre para registrar cada nueva solicitud que llega al servidor. Esto se aplica a toda la aplicación utilizando el método. Luego, hemos definido dos rutas, una para la página principal( ) y otra para la página de información( ). Finalmente, iniciamos el servidor y escuchamos en el puerto 3000. middleware loggerMiddleware
middleware app.use()
'/'
'/about'
Se ejecutará para cada solicitud, registrando un mensaje en la consola antes de pasar la solicitud al controlador de ruta correspondiente o en la secuencia. middleware loggerMiddleware
middleware
Esta combinación de routing y middleware nos permite manejar diferentes solicitudes y realizar tareas comunes de manera eficiente en una Express aplicación.