假设我有一条路线/ressource
。我可以使用查询参数/ressource?param=ABC
调用此路由,可以在Node中使用以下参数进行查询:
app.get('/ressource', function (req, res) {
const parameter = req.query.param
})
现在,有没有一种预定义的方法可以要求我向参数/ressource
发送错误而没有?param=ABC
的参数。
答案 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