// Responde con "Bienvenido" a una solicitud GET en la raíz servidor.get('/', (solicitud, respuesta) => { respuesta.send('Bienvenido a la aplicación'); });
</div></div>Métodos de Ruta
---------------
<div>Los métodos de ruta se derivan de los verbos HTTP y están vinculados a la instancia de Express. A continuación, se muestran ejemplos para solicitudes GET y POST en la ruta raíz.
<div>```
// Ruta para método GET
servidor.get('/', (solicitud, respuesta) => {
respuesta.send('Solicitud GET en la página principal');
});
// Ruta para método POST
servidor.post('/', (solicitud, respuesta) => {
respuesta.send('Solicitud POST en la página principal');
});
// Coincide con /acerca servidor.get('/acerca', (solicitud, respuesta) => { respuesta.send('Página de acerca'); });
// Coincide con /texto.aleatorio servidor.get('/texto.aleatorio', (solicitud, respuesta) => { respuesta.send('Ruta de texto aleatorio'); });
</div><div>```
// Coincide con /abcd o /acd
servidor.get('/ab?cd', (solicitud, respuesta) => {
respuesta.send('Patrón con carácter opcional');
});
// Coincide con /abcd, /abbcd, etc.
servidor.get('/ab+cd', (solicitud, respuesta) => {
respuesta.send('Patrón con uno o más caracteres');
});
// Coincide con /abcd, /abXcd, etc.
servidor.get('/ab*cd', (solicitud, respuesta) => {
respuesta.send('Patrón con comodín');
});
// Coincide con /abe o /abcde
servidor.get('/ab(cd)?e', (solicitud, respuesta) => {
respuesta.send('Patrón con grupo opcional');
});
// Coincide con rutas que terminan en 'mosca' (ej. mariposamosca, libélulamosca) servidor.get(/.*mosca$/, (solicitud, respuesta) => { respuesta.send('Expresión regular para rutas que terminan en "mosca"'); });
</div></div>Manejaodres de Ruta
-------------------
<div>Los manejadores de ruta pueden incluir múltiples funciones de callback, similares a middleware. La diferencia clave es que pueden invocar `siguiente('ruta')` para omitir otros callbacks. Esto permite definir condiciones previas para las rutas.
Los manejadores pueden ser funciones individuales, arreglos de funciones o una combinación.
Uso de una sola función para manejar una ruta:
<div>```
servidor.get('/ejemplo/a', (solicitud, respuesta) => {
respuesta.send('¡Hola desde A!');
});
const manejador2 = (solicitud, respuesta, siguiente) => { console.log('Manejador 2 ejecutado'); siguiente(); };
const manejador3 = (solicitud, respuesta) => { respuesta.send('¡Hola desde C!'); };
servidor.get('/ejemplo/c', [manejador1, manejador2, manejador3]);
</div>Combinación de funciones y arreglos para manejar una ruta:
<div>```
const inicio = (solicitud, respuesta, siguiente) => {
console.log('Inicio del proceso');
siguiente();
};
const medio = (solicitud, respuesta, siguiente) => {
console.log('Proceso intermedio');
siguiente();
};
servidor.get('/ejemplo/d', [inicio, medio], (solicitud, respuesta, siguiente) => {
console.log('La respuesta será enviada por la función final...');
siguiente();
}, (solicitud, respuesta) => {
respuesta.send('¡Hola desde D!');
});
| Método | Descripción |
|---|---|
| res.descargar() | Prompta la descarga de un archivo. |
| res.finalizar() | Finaliza el proceso de respuesta. |
| res.json() | Envía una respuesta en formato JSON. |
| res.jsonp() | Envía una respuesta JSON compatible con JSONP. |
| res.redirigir() | Redirige la solicitud a otra ruta. |
| res.renderizar() | Renderiza una plantillla de vista. |
| res.enviar() | Envía varios tipos de respuestas. |
| res.enviarArchivo() | Envía un archivo como flujo de octetos. |
| res.enviarEstado() | Establece el código de estado y lo envía como parte del cuerpo. |
Por ejemplo, crea un archivo aves.js con el siguiente contenido:
// Middleware para este enrutador enrutador.use((solicitud, respuesta, siguiente) => { console.log('Hora:', new Date().toISOString()); siguiente(); });
// Ruta para la página principal de aves enrutador.get('/', (solicitud, respuesta) => { respuesta.send('Página principal de aves'); });
// Ruta para la página de acerca de aves enrutador.get('/acerca', (solicitud, respuesta) => { respuesta.send('Acerca de las aves'); });
module.exports = enrutador;
</div>Luego, carga este módulo en la aplicación principle:
<div>```
const aves = require('./aves');
// ... otras configuraciones
servidor.use('/aves', aves);