Volver a la página principal
miércoles 2 octubre 2024
14

Cómo pasar parámetros a una ruta GET en Express

En Express, un framework de Node.js, los parámetros se pueden pasar a las rutas GET para filtrar o personalizar las respuestas. Estos parámetros se pueden enviar mediante la URL y se obtienen dentro del controlador de la ruta.

Pasar parámetros en rutas GET

En Express, los parámetros se pueden pasar de dos formas: parámetros de ruta y query strings. Los parámetros de ruta se definen en la URL y se capturan en la estructura de la ruta, mientras que los query strings se envían como pares clave-valor después del símbolo ?.

Parámetros de ruta

Los parámetros de ruta son dinámicos y se indican en la definición de la ruta usando :nombre. Por ejemplo:

const express = require('express');
const app = express();

app.get('/usuario/:id', (req, res) => {
  const userId = req.params.id;
  res.send(`El ID del usuario es: ${userId}`);
});

app.listen(3000, () => {
  console.log('Servidor en ejecución en http://localhost:3000');
});

En el ejemplo anterior, si se visita http://localhost:3000/usuario/123, se obtendrá la respuesta El ID del usuario es: 123. Aquí, :id es un parámetro de ruta capturado con req.params.id.

Parámetros de consulta (query strings)

Los query strings se envían como pares clave=valor en la URL después del símbolo ?. Pueden capturarse con req.query. Un ejemplo:

app.get('/buscar', (req, res) => {
  const termino = req.query.termino;
  res.send(`Resultado de la búsqueda para: ${termino}`);
});

Si se visita http://localhost:3000/buscar?termino=express, se mostrará la respuesta Resultado de la búsqueda para: express. Aquí, termino es un parámetro de consulta.

Ejemplos adicionales

Combinar parámetros de ruta y de consulta

app.get('/producto/:categoria', (req, res) => {
  const categoria = req.params.categoria;
  const marca = req.query.marca;
  res.send(`Productos en la categoría: ${categoria}, marca: ${marca || 'todas'}`);
});

Si se accede a http://localhost:3000/producto/electronica?marca=samsung, la respuesta será Productos en la categoría: electronica, marca: samsung.

Manejar múltiples parámetros de ruta

app.get('/articulo/:id/:seccion', (req, res) => {
  const { id, seccion } = req.params;
  res.send(`Artículo ID: ${id}, Sección: ${seccion}`);
});

En este caso, la URL http://localhost:3000/articulo/45/noticias mostrará Artículo ID: 45, Sección: noticias.

Referencia oficial

Para más detalles, puedes consultar la documentación oficial de Express.

Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer