Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

185
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!