Node.js Express需要一个查询参数
假设我有一条路由Node.js Express需要一个查询参数,node.js,express,Node.js,Express,假设我有一条路由/ressource。我可以使用查询参数/ressource?param=ABC调用此路由,我可以使用以下参数在节点中检索: app.get('/ressource', function (req, res) { const parameter = req.query.param }) 现在,是否有一种预定义的方法可以要求参数在没有的情况下向/ressource发出请求时抛出错误?param=ABC在express中,查询将自动解析并放入req.query对象,而不是r
/ressource
。我可以使用查询参数/ressource?param=ABC
调用此路由,我可以使用以下参数在节点中检索:
app.get('/ressource', function (req, res) {
const parameter = req.query.param
})
现在,是否有一种预定义的方法可以要求参数在没有
的情况下向/ressource
发出请求时抛出错误?param=ABC
在express中,查询将自动解析并放入req.query
对象,而不是req.param
对象
因此,您可以这样访问它:
const parameter = req.query.parameter;
阅读expressjs文档。没有预先定义的方法来访问。 您可以选择在回调函数中自己检查它:
if (!req.query.parameter) {
res.send('parameter is missing');
}
或者,要使用具有相同用途的可以使用来获取查询参数,并使用next
回调函数抛出如下错误
app.get('/ressource', function (req, res, next) {
if(!req.query.param) {
const err = new Error('Required query params missing');
err.status = 400;
next(err);
}
// continue
const parameter = req.body.param
})
需要注意的是,条件
!对于所有假值,req.query.param
将计算为true。i、 e.如果req.query.param
为false
,null
,NaN
,0
,“
(空字符串)和未定义
。