Как переопределить экспресс-маршруты - PullRequest
0 голосов
/ 11 февраля 2019

Каждый раз, когда я пытаюсь использовать первый маршрут, вместо этого я получаю второй.

Есть ли способ переопределить второй маршрут, когда я получаю запрос '/ allAnspted'?

router.get('/allAnswered', verify.verifyAdmin, async (req, res) => {
  await reportService.getAllAnswered(req.query.userId, req.query.sessionId, (response) => {
    res.status(response.status).send(response);
  })
});

router.get('/:reportId', verify.verifyAdmin, async (req, res) => {
  await reportService.getReportById(req.params.reportId, (response) => {
    res.status(response.status).send(response);
  })
});

Ответы [ 2 ]

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

не думаю, что экспресс позволяет это, вы можете использовать этот стиль:

router.get('/:reportId', verify.verifyAdmin, async (req, res) => {
  if (req.params.reportId === 'allAnswered') {
    await reportService.getAllAnswered(req.query.userId, req.query.sessionId, 
    (response) => {
     res.status(response.status).send(response);
    })
  } else {
    await reportService.getReportById(req.params.reportId, (response) => {
      res.status(response.status).send(response);
    })
  }

});
0 голосов
/ 11 февраля 2019

Да.Вы должны написать что-то вроде этого:

router.get('/reports/:reportId,verify.verifyAdmin, async (req, res) => {
  await reportService.getReportById(req.params.reportId, (response) => {
    res.status(response.status).send(response);
  })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...