Así que tengo una API donde tengo que pasar la marca, el modelo y el año del automóvil en la URL. Tengo una llamada posterior del enrutador expreso para obtener los parámetros de consulta y establecer el objeto.
Necesito poder aceptar parámetros en la URL, así que diga localhost:8080/cars/[no estoy seguro de esta sintaxis pero necesito hacer:Audi?modelo:A4?año:2017]
No estoy seguro de & y ? en la URL anterior, así que corríjala.
router.post('/:make[not sure of this either but need to accept all params]), function(req,res) { var make: req.query.make // here I should be able to get make of car and it should match query url }Explique la URL real que necesito para realizar una llamada posterior y la URL para router.post
~SRJ
Puede llamar a su URL de esta manera y a continuación debería funcionar: localhost: 8080/cars/Audi&A4&2017
router.post('/:make&:model&:year), function(req,res) { const car = { make: req.params.make, model: req.params.model, year: req.params.year } }Eso le dará todas las propiedades en las variables deseadas.
Tiene dos formas de usar parámetros de URL en Express.js.
req.params : con este método, deberá especificar el nombre del parámetro que espera recibir en la URL en la ruta de su servidor: app.get('/cars/:make/:model/:year', function (req, res) { res.send(req.params) })y la URL contendrá los valores de cada parámetro en el orden en que aparecen en la ruta:
localhost:8080/cars/Audi/A4/2017esto devolverá:
{ "make": "Audi", "model": "A4", "year": "2017" } puede acceder al parámetro de URL específico simplemente agregando el nombre del parámetro especificado en su ruta de la siguiente manera: res.send(req.params.make)
req.query : esto se parecerá más a lo que hiciste. Con este método, no necesita especificar el nombre del parámetro en su ruta, por lo que su ruta será: app.get('/cars', function (req, res) { res.send(req.query) }) la URL será como un par clave:valor, comenzando con ? para especificar que esta parte de la URL es el comienzo de los parámetros de consulta, seguido de & para cada parámetro de consulta adicional:
localhost:8080/cars?make=Audi&model=A4&year=2017esto también devolverá:
{ "make": "Audi", "model": "A4", "year": "2017" } Al igual que el método de parámetros de ruta, también puede acceder a un parámetro de consulta específico agregándolo al parámetro de consulta así: req.query.model