Routing en Express.js: Manejo de solicitudes de usuario

En Express.js, routing es un concepto crucial que le permite definir cómo su aplicación maneja las solicitudes HTTP entrantes de los usuarios. Las rutas le permiten especificar acciones específicas cuando los usuarios envían solicitudes a direcciones URL específicas en su aplicación.

Paso 1: Creación de un básico Route

Para crear un route in Express.js, utiliza el app.METHOD(PATH, HANDLER) método del objeto de la aplicación( app) para registrar route un método HTTP específico METHOD y una ruta PATH. HANDLER es una función de controlador que se llamará cuando una solicitud llegue a ese archivo route.

Por ejemplo, para crear un correo electrónico route que maneje una GET solicitud a /hello, puede usar el siguiente código:

app.get('/hello',(req, res) => {  
  res.send('Hello, this is the /hello route!');  
});  

Paso 2: Manejo de solicitudes y respuestas

En la función de controlador, puede manejar las solicitudes entrantes de los usuarios y responder utilizando los objetos req(solicitud) y res(respuesta). El req objeto contiene información sobre la solicitud entrante, como parámetros de URL, datos enviados, la dirección IP del remitente, etc. El res objeto contiene métodos para responder a la solicitud, como res.send(), res.json(), res.render(), etc.

Paso 3: Manejo de Múltiples Rutas

Express.js le permite definir múltiples rutas para la misma URL con diferentes métodos HTTP. Por ejemplo:

app.get('/hello',(req, res) => {  
  res.send('Hello, this is the GET /hello route!');  
});  
  
app.post('/hello',(req, res) => {  
  res.send('Hello, this is the POST /hello route!');  
});  

Paso 4: Manejo de parámetros dinámicos

También puede definir rutas que contengan parámetros dinámicos, definidos por dos puntos( :). Por ejemplo:

app.get('/users/:id',(req, res) => {  
  const userId = req.params.id;  
  res.send(`Hello, this is the GET /users/${userId} route!`);  
});  

Cuando un usuario realiza una solicitud a /users/123, la userId variable tendrá el valor "123".

Paso 5: Separar Routing con módulos

En proyectos más grandes, es posible que desee separar las rutas en archivos separados para mantener su código fuente organizado y manejable. Puede usar module.exports para definir rutas en archivos separados y luego importarlos al archivo principal. Por ejemplo:

// routes/users.js  
const express = require('express');  
const router = express.Router();  
  
router.get('/profile',(req, res) => {  
  res.send('This is the /profile route in users.js!');  
});  
  
module.exports = router;  
// app.js  
const usersRouter = require('./routes/users');  
app.use('/users', usersRouter);  

Paso 6: Manejo de rutas inexistentes

Finalmente, si un usuario solicita un correo electrónico inexistente route, puede definir un 404 route para manejarlo. Esto se hace estableciendo un valor predeterminado route al final de su archivo principal:

app.use((req, res, next) => {  
  res.status(404).send('Route not found!');  
});  

Hemos aprendido a crear y manejar rutas en Express.js. Al usar esta función, puede personalizar y manejar las solicitudes de los usuarios de manera flexible y eficaz, lo que hace que su aplicación sea más adaptable y escalable. ¡Siga explorando y utilizando rutas en la creación de aplicaciones web ricas y fantásticas!