Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

181
Vistas
¿Cómo agrego múltiples parámetros opcionales en Express en la misma ruta?

¡Gran admirador de Stackoverflow y esta es mi primera pregunta al respecto! Estoy trabajando en un proyecto javascript express y tratando de averiguar si puedo hacer esto bajo una solicitud de obtención. Me está costando entender esto

 app.get("/test/:q1&:q2&:q3", (req, res) => { console.log(req.params) })

Básicamente, cuando el usuario busca las siguientes rutas, quiero el siguiente resultado en req.params cuando se realizan estas solicitudes. Quiero mantenerlo bajo una solicitud de obtención si es posible.

PARA ACLARAR. El código anterior PUEDE cambiar para cumplir con los requisitos funcionales ABAJO. A continuación NO PUEDE cambiar

 "http://localhost:3000/test/hello" ---> req.params will equal { q1: "hello" } "http://localhost:3000/test/hello&world" ---> req.params will equal { q1: "hello", q2: "world" } "http://localhost:3000/test/hello&world&foobar" ---> req.params will equal { q1: "hello", q2: "world", q3: "foobar" }

Intenté usar el "?" en la consulta, pero parece que solo funciona en rutas nuevas seguidas de "/", no dentro de la misma ruta. Estoy pensando que tendré que ir con la solución rápida y sucia de hacer 2 solicitudes de obtención más para cada escenario. Actualmente, cuando intento ingresar "/test/hello&world" o "/test/hello", fallará y solo funcionará si tengo las 3 partes llenas.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¿Puedes probar esto?

 app.get('/test/:string', (req, res) => { const str = req.params.string const params = str.split('&') .reduce((acc, curr, i) => ({ ...acc, [`q${i + 1}`]: curr }), {}) // params => { q1: 'hello', q2: 'world', q3: 'foobar' } })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda