如何在 Node.js 上传递查询字符串并在 Express.js 中获取对象结果?
how to pass query string and get object result in Express.js on Node.js?
我在 nodeJs 和 express 中创建了我的 api,我想通过传递字符串参数来获取一个对象,但我无法获取该对象。
这是我的应用
const express = require('express')
const app = express()
const produits = [
{
"codeProduit":"78",
"nomCat":"nomCat11",
"typeCat":"typeCat11"
},
{
"codeProduit":"82",
"nomCat":"nomCat21",
"typeCat":"typeCat21"
},
{
"codeProduit":"69",
"nomCat":"nomCat31",
"typeCat":"typeCat31"
}
]
//http://localhost:3000/produits?codeProduit=78
app.get('/produits', (req, res) => {
if(req.query.codeProduit != undefined && req.query.codeProduit != '') {
res.json(produits[(req.query.codeProduit)])
} else {
res.json(produits)
}
})
app.get('/produits', (req, res) => {
res.json(produits)
})
app.listen(3000,() => {
console.log('Started on port 3000')
})
我想得到这个对象
{
"codeProduit":"78",
"nomCat":"nomCat11",
"typeCat":"typeCat11"
}
当我调用这个 url 时:http://localhost:3000/produits?codeProduit=78
请问我该怎么做?
您正在做的 produits[78]
是未定义的,因此您需要使用 find
来获得预期的产品
app.get('/produits', (req, res) => {
if (req.query.codeProduit != undefined && req.query.codeProduit != '') {
const result = produits.find(p => p.codeProduit === req.query.codeProduit);
result ? res.json(200).json(result) : res.status(404).json();
} else {
res.json(produits);
}
});
我在 nodeJs 和 express 中创建了我的 api,我想通过传递字符串参数来获取一个对象,但我无法获取该对象。
这是我的应用
const express = require('express')
const app = express()
const produits = [
{
"codeProduit":"78",
"nomCat":"nomCat11",
"typeCat":"typeCat11"
},
{
"codeProduit":"82",
"nomCat":"nomCat21",
"typeCat":"typeCat21"
},
{
"codeProduit":"69",
"nomCat":"nomCat31",
"typeCat":"typeCat31"
}
]
//http://localhost:3000/produits?codeProduit=78
app.get('/produits', (req, res) => {
if(req.query.codeProduit != undefined && req.query.codeProduit != '') {
res.json(produits[(req.query.codeProduit)])
} else {
res.json(produits)
}
})
app.get('/produits', (req, res) => {
res.json(produits)
})
app.listen(3000,() => {
console.log('Started on port 3000')
})
我想得到这个对象
{
"codeProduit":"78",
"nomCat":"nomCat11",
"typeCat":"typeCat11"
}
当我调用这个 url 时:http://localhost:3000/produits?codeProduit=78
请问我该怎么做?
您正在做的 produits[78]
是未定义的,因此您需要使用 find
来获得预期的产品
app.get('/produits', (req, res) => {
if (req.query.codeProduit != undefined && req.query.codeProduit != '') {
const result = produits.find(p => p.codeProduit === req.query.codeProduit);
result ? res.json(200).json(result) : res.status(404).json();
} else {
res.json(produits);
}
});