Una de las características principales de ExpressJS, uno de los marcos más populares para NodeJS, es su sistema de enrutamiento. Las rutas son la columna vertebral de cualquier aplicación web y, con ExpressJS, el proceso de creación y gestión de rutas se simplifica y optimiza. En este capítulo, exploraremos cómo trabajar con rutas en ExpressJS, con especial énfasis en rutas dinámicas.
El enrutamiento en ExpressJS se logra definiendo rutas, que son esencialmente funciones de JavaScript que corresponden a ciertas URL. Cuando se accede a una URL, se ejecuta la función de ruta correspondiente. Esto le permite crear la lógica necesaria para manejar diferentes tipos de solicitudes y respuestas.
Para comenzar a trabajar con rutas, necesita crear una instancia de un objeto Express y utilizar sus métodos de ruta. Los métodos de ruta corresponden a verbos HTTP como GET, POST, PUT, DELETE, etc. Por ejemplo, para crear una ruta GET simple que coincida con la URL "/", haría algo como esto:
const expresar = requerir('expresar'); aplicación constante = expresar(); aplicación.get('/', (req, res) => { res.send('¡Hola mundo!'); }); aplicación.escuchar(3000, () => { console.log('¡Aplicación escuchando en el puerto 3000!'); });
Aquí creamos una ruta que coincide con la URL "/" y responde con "¡Hola mundo!" cuando se accede a esa URL a través de una solicitud GET. El método app.get() toma dos argumentos: la URL y una función de devolución de llamada que se ejecuta cuando se accede a la URL. La función de devolución de llamada toma dos argumentos: un objeto de solicitud (req) y un objeto de respuesta (res).
Ahora hablemos de rutas dinámicas. Las rutas dinámicas son rutas que contienen parámetros de ruta. Los parámetros de ruta son partes de la URL que son dinámicas y pueden variar. Se definen mediante dos puntos seguidos de un nombre, como "/usuarios/:userId". ExpressJS extrae automáticamente estos parámetros de ruta y los pone a disposición en el objeto de solicitud.
Por ejemplo, creemos una ruta dinámica que coincida con URL como "/usuarios/1", "/usuarios/2", etc.:
app.get('/usuarios/:userId', (req, res) => { res.send(`El ID de usuario es: ${req.params.userId}`); });
Aquí, ":userId" es un parámetro de ruta. Cuando se accede a esa ruta, ExpressJS extrae el valor del parámetro de ruta y lo pone a disposición como una propiedad del objeto req.params. Entonces, si accede a "/usuarios/1", la respuesta será "El ID de usuario es: 1". Si accede a "/users/42", la respuesta será "El ID de usuario es: 42", y así sucesivamente.
Las rutas dinámicas son increíblemente útiles y le permiten crear aplicaciones web complejas y flexibles con menos código. Puede tener cualquier número de parámetros de ruta en una sola ruta y puede acceder a todos ellos a través del objeto req.params.
En conclusión, el sistema de enrutamiento ExpressJS es una poderosa herramienta que le permite crear aplicaciones web complejas con facilidad. Las rutas dinámicas en particular son una característica importante que le permite crear URL flexibles que pueden manejar una variedad de situaciones diferentes.
En la siguiente sección, exploraremos más funciones de ExpressJS, incluido el middleware y cómo manejar errores. ¡Estén atentos!