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
(空字符串)和
未定义