как добавить параметры запроса в router.get - PullRequest
0 голосов
/ 10 ноября 2018

Среда: MEAN tech stack

Привет, я хочу добавить параметр запроса в мой router.get, но я не уверен, как его определить.

Прямо сейчас работает так:

http://test.com/path1/path2/1

router.get('/path1/path2/:userId', (req, res) => {
    let route = `GET /path1/path2/${req.params.userId}`;

Я просто хочу добавить параметр поискового запроса, это будет что-то вроде этого?

http://test.com/path1/path2/1?q=test

И как это будет определено в router.get?

Ответы [ 3 ]

0 голосов
/ 10 ноября 2018

Вы используете объект req.query для получения параметров запроса.

Итак, для URL http://test.com/path1/path2/1?q=test вы можете получить параметр запроса, подобный этому:

router.get('/path1/path2/:userId', (req, res) => {
    console.log(req.params.userId);        // "1"
    console.log(req.query.q);              // "test"
});

Документ для req.query - здесь .

0 голосов
/ 10 ноября 2018

Для этого URL http://test.com/path1/path2/1?q=test

параметры пути доступа = req.params.userId.

доступ к параметрам запроса = req.query.q.

Подробнее о экспресс-документации

http://expressjs.com/de/api.html#req.query

http://expressjs.com/de/api.html#req.params

0 голосов
/ 10 ноября 2018

Вам не нужно добавлять параметр запроса непосредственно в ваш маршрут. Просто держи /path1/path2/:userId.

В вашей функции вы можете проверить, существует ли параметр запроса , здесь через req.query.q.

// http://test.com/path1/path2/1?q=test
router.get('/path1/path2/:userId', (req, res) => {
    let route = `GET /path1/path2/${req.params.userId}`;

    // If http://test.com/path1/path2/1, req.query.q is undefined
    console.log(req.params.userId, req.query.q);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...