Creación y Gestión de Rutas en Express.js
Exploremos estos ejemplos prácticos de creación de rutas en Express.js con mayor detalle.
🌟 Rutas Básicas
Creación de una aplicación sencilla de Express.js con rutas para diferentes métodos HTTP. Cada ruta gestiona una solicitud HTTP específica y envía una respuesta al cliente.
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('This is the homepage.');
});
app.post('/users', (req, res) => {
// Handle user creation logic here.
res.send('User created.');
});
app.put('/users/:id', (req, res) => {
// Handle user update logic here.
res.send(`User ${req.params.id} updated.`);
});
app.delete('/users/:id', (req, res) => {
// Handle user deletion logic here.
res.send(`User ${req.params.id} deleted.`);
});
app.listen(3000, () => {
console.log('Server is running on port 3000.');
});
- Ruta GET: Esta ruta responde a una solicitud GET en la URL raíz (
/). Los usuarios que acceden a la página principal de la aplicación recibirán el mensaje "This is the homepage."; - Ruta POST: Esta ruta responde a una solicitud POST en la URL
/users. Normalmente se utiliza para crear nuevos registros de usuario. La ruta incluye un comentario para la lógica de creación de usuarios, que puede ser reemplazada por la lógica real de creación; - Ruta PUT: Esta ruta responde a una solicitud PUT en la URL
/users/:id. Está diseñada para actualizar registros de usuario en función del parámetro:id. Al igual que la ruta POST, incluye un comentario para la lógica de actualización de usuarios; - Ruta DELETE: Esta ruta responde a una solicitud DELETE en la URL
/users/:id. Se utiliza para eliminar registros de usuario en función del parámetro:id. Como en las demás rutas, incluye un comentario para la lógica de eliminación de usuarios.
Nota
Si no está seguro acerca de la URL o desea repasar el concepto, consulte el siguiente artículo: URL vs URI vs URN
🌟 Manejo de parámetros de URL
Enfoque en la creación de una ruta que gestione parámetros de URL. Los parámetros de URL son partes dinámicas de una URL que pueden utilizarse para transmitir datos al servidor. Funcionamiento del siguiente ejemplo:
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
// Fetch user data based on `userId`.
res.send(`User details for ID ${userId}.`);
});
- Definición de una ruta utilizando
app.get('/users/:id', ...), donde:ides un parámetro de URL. Esto significa que cuando un usuario accede a una URL como/users/123, la variablereq.params.idcontendrá el valor123; - Dentro del manejador de la ruta, acceso al parámetro
:idmediantereq.params.id; - Es posible reemplazar el comentario con la lógica para obtener los datos del usuario en función del
userIdobtenido del parámetro de URL; - Finalmente, respuesta al cliente con información sobre el usuario identificado por el parámetro
:id.
🌟 Orden y Priorización de Rutas
El orden en que se definen las rutas es importante porque Express utiliza una estrategia de "primera coincidencia gana". La primera ruta que coincida será ejecutada. En este ejemplo, se considera un escenario donde existen tanto una ruta específica como una ruta comodín:
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
// Fetch user data based on `userId`.
res.send(`User details for ID ${userId}.`);
});
app.get('/users/*', (req, res) => {
// Handle generic user-related requests.
res.send('User-related request.');
});
- La primera ruta,
app.get('/users/:id', ...), es una ruta específica que responde a URLs como/users/123. Gestiona solicitudes con un ID de usuario específico; - La segunda ruta,
app.get('/users/*', ...), es una ruta comodín para solicitudes genéricas relacionadas con usuarios. Utiliza un comodín (*) para coincidir con cualquier URL que comience con/users/, como/users/settings.
En este escenario, el orden es fundamental. La ruta específica debe definirse antes que la ruta comodín para asegurar que tenga prioridad. Si se define primero la ruta comodín, coincidirá con todas las URLs que comiencen con /users/, y la ruta específica no podrá gestionar solicitudes con un ID de usuario.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain more about how route order affects request handling in Express.js?
What happens if I reverse the order of the specific and catch-all routes?
Can you give more examples of using URL parameters in routes?
Awesome!
Completion rate improved to 2.56
Creación y Gestión de Rutas en Express.js
Desliza para mostrar el menú
Exploremos estos ejemplos prácticos de creación de rutas en Express.js con mayor detalle.
🌟 Rutas Básicas
Creación de una aplicación sencilla de Express.js con rutas para diferentes métodos HTTP. Cada ruta gestiona una solicitud HTTP específica y envía una respuesta al cliente.
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('This is the homepage.');
});
app.post('/users', (req, res) => {
// Handle user creation logic here.
res.send('User created.');
});
app.put('/users/:id', (req, res) => {
// Handle user update logic here.
res.send(`User ${req.params.id} updated.`);
});
app.delete('/users/:id', (req, res) => {
// Handle user deletion logic here.
res.send(`User ${req.params.id} deleted.`);
});
app.listen(3000, () => {
console.log('Server is running on port 3000.');
});
- Ruta GET: Esta ruta responde a una solicitud GET en la URL raíz (
/). Los usuarios que acceden a la página principal de la aplicación recibirán el mensaje "This is the homepage."; - Ruta POST: Esta ruta responde a una solicitud POST en la URL
/users. Normalmente se utiliza para crear nuevos registros de usuario. La ruta incluye un comentario para la lógica de creación de usuarios, que puede ser reemplazada por la lógica real de creación; - Ruta PUT: Esta ruta responde a una solicitud PUT en la URL
/users/:id. Está diseñada para actualizar registros de usuario en función del parámetro:id. Al igual que la ruta POST, incluye un comentario para la lógica de actualización de usuarios; - Ruta DELETE: Esta ruta responde a una solicitud DELETE en la URL
/users/:id. Se utiliza para eliminar registros de usuario en función del parámetro:id. Como en las demás rutas, incluye un comentario para la lógica de eliminación de usuarios.
Nota
Si no está seguro acerca de la URL o desea repasar el concepto, consulte el siguiente artículo: URL vs URI vs URN
🌟 Manejo de parámetros de URL
Enfoque en la creación de una ruta que gestione parámetros de URL. Los parámetros de URL son partes dinámicas de una URL que pueden utilizarse para transmitir datos al servidor. Funcionamiento del siguiente ejemplo:
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
// Fetch user data based on `userId`.
res.send(`User details for ID ${userId}.`);
});
- Definición de una ruta utilizando
app.get('/users/:id', ...), donde:ides un parámetro de URL. Esto significa que cuando un usuario accede a una URL como/users/123, la variablereq.params.idcontendrá el valor123; - Dentro del manejador de la ruta, acceso al parámetro
:idmediantereq.params.id; - Es posible reemplazar el comentario con la lógica para obtener los datos del usuario en función del
userIdobtenido del parámetro de URL; - Finalmente, respuesta al cliente con información sobre el usuario identificado por el parámetro
:id.
🌟 Orden y Priorización de Rutas
El orden en que se definen las rutas es importante porque Express utiliza una estrategia de "primera coincidencia gana". La primera ruta que coincida será ejecutada. En este ejemplo, se considera un escenario donde existen tanto una ruta específica como una ruta comodín:
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
// Fetch user data based on `userId`.
res.send(`User details for ID ${userId}.`);
});
app.get('/users/*', (req, res) => {
// Handle generic user-related requests.
res.send('User-related request.');
});
- La primera ruta,
app.get('/users/:id', ...), es una ruta específica que responde a URLs como/users/123. Gestiona solicitudes con un ID de usuario específico; - La segunda ruta,
app.get('/users/*', ...), es una ruta comodín para solicitudes genéricas relacionadas con usuarios. Utiliza un comodín (*) para coincidir con cualquier URL que comience con/users/, como/users/settings.
En este escenario, el orden es fundamental. La ruta específica debe definirse antes que la ruta comodín para asegurar que tenga prioridad. Si se define primero la ruta comodín, coincidirá con todas las URLs que comiencen con /users/, y la ruta específica no podrá gestionar solicitudes con un ID de usuario.
¡Gracias por tus comentarios!