Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

186
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda