Экспресс требует параметр запроса - PullRequest
0 голосов
/ 23 февраля 2019

Допустим, у меня есть маршрут /ressource.Я могу вызвать этот маршрут с параметром запроса /ressource?param=ABC, который я могу получить в Узле с помощью:

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

Теперь, есть ли предопределенный способ, которым я могу требовать параметр, который выдает ошибку для запроса на /ressource без ?param=ABC.

Ответы [ 3 ]

0 голосов
/ 23 февраля 2019

Нет предопределенного способа.Вы можете сами проверить это внутри функции обратного вызова:

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

или использовать промежуточное ПО маршрутизатора , которое будет служить той же цели

0 голосов
/ 23 февраля 2019

Вы можете использовать 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
})
0 голосов
/ 23 февраля 2019

В экспрессе запрос автоматически анализируется и помещается в объект req.query, а не в объект req.param.

Таким образом, вы можете получить к нему следующий доступ:

const parameter = req.query.parameter;

read req.query в документах expressjs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...