Express需要查询参数

时间:2019-02-23 16:40:19

标签: node.js express

假设我有一条路线/ressource。我可以使用查询参数/ressource?param=ABC调用此路由,可以在Node中使用以下参数进行查询:

app.get('/ressource', function (req, res) {
    const parameter = req.query.param
})

现在,有没有一种预定义的方法可以要求我向参数/ressource发送错误而没有?param=ABC的参数。

3 个答案:

答案 0 :(得分:1)

您可以使用req.query来获取查询参数,并使用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
})

答案 1 :(得分:0)

明确地说,查询会自动解析并放入req.query对象,而不是req.param对象。

因此您可以像这样访问它:

const parameter = req.query.parameter;

在expressjs文档上阅读req.query

答案 2 :(得分:0)

没有预定义的方法。 您可以选择自己在回调函数中进行检查:

if (!req.query.parameter) {
     res.send('parameter is missing');
}

或使用具有相同目的的router middleware