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

132
Visualizações
Problema de variable de parámetro de URL de Express JS

Tengo esta ruta de usuario

 const express = require('express'); const router = express.Router(); const { GetAll, } = require('../areas/directory/controllers/usercontroller'); router.route('/getall?:username&:email').get(GetAll); module.exports = router;

Cuando intento acceder a la URL en Postman de esta manera: http://localhost:5000/api/user/getall?username=nameone&email=emailone

Recibo este error: No se puede OBTENER /api/usuario/getall

Pero, si lo cambio a

 router.route('/getall/:username&:email').get(GetAll);

y acceda a la URL en Postman de esta manera: http://localhost:5000/api/user/getall/username=nameone&email=emailone

funciona.

Por otro lado, incluso si funciona, no puedo obtener el valor de mi variable.

 var username = req.params.username;

devolverá username=nameone en su lugar.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Para http://localhost:5000/api/user/getall?username=nameone&email=emailone funcione, debe cambiar

 router.route('/getall?:username&:email').get(GetAll);

a

 "router.route('/getall').get(GetAll);"

y use req.query.username para acceder al valor del parámetro de consulta de nombre de usuario y req.query.email para acceder al valor del parámetro de consulta de correo electrónico.

Después de realizar estos cambios, puede llamar a http://localhost:5000/api/user/getall?username=nameone&email=emailone en Postman, podrá ver el valor del nombre de username y el email en su código.

Esto se debe a que no necesita especificar los parámetros de consulta en la ruta, como ?:username en router.route('getall') .

Editar: agregar algunos detalles más sobre la ruta y la consulta

Consulte las 2 soluciones principales para esta pregunta para obtener más información sobre la ruta y la consulta y por qué debe cambiar su código de la manera que mencioné anteriormente: aquí está el enlace .

about 4 years ago · Juan Pablo Isaza Relatório

0

Motivo del error...

En realidad, lo que está tratando de hacer se llama paso de consulta en el resto de la API.

Pero estás tratando de acceder a ellos como parámetros .

solución 💖

sigue los pasos para acceder a las consultas

**Para pasar los datos usando ? en la solicitud de API debería ser así, puede tener múltiples objetos de consulta

 http://localhost:5000/getall?email='email'&&password='password'

Acceda a la consulta en la aplicación express como esta

 app.post('/getall', (req, res) => { const { email, password } = req.query return res.status(200).json({ email, password }) })

El req.query contiene los datos que intenta pasar throw ? y luego consultar propiedades

La respuesta del código anterior sería así

 { "email": "'email'", "password": "'password'" }
about 4 years ago · Juan Pablo Isaza Relatório

0

No debe proporcionar parámetros de consulta en la URL. Entonces, para express, la URL debe ser solo /getall y en su código accede a esas variables usando req.params.whatever_query_parameter

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