Смешанные типы параметров в роутере в Express - PullRequest
0 голосов
/ 27 июня 2018

У моего веб-приложения Node.js Express есть два маршрута.

/* Route 1 renders the location view */
router.get('/:id', function(req, res, next) {
  var locationId = parseInt(req.params.id); 

  console.log(locationId);
  // DO SOMETHING
  res.render('location');
});


/* Route 2 renders the map view */
router.get('/map', function(req, res, next) {
  // DO SOMETHING
  res.render('map');
});

Проблема в том, что когда я передал / map в URL, он всегда был направлен на маршрут 1 и отображал представление местоположения вместо карты. Было ли что-то не так?

1 Ответ

0 голосов
/ 27 июня 2018

Порядок экспресс-маршрута: «первым пришел, первым пришел сервер».

Полагаю, сработает следующее:

/* Route 2 First */
router.get('/map', function(req, res, next) {
  // DO SOMETHING
  res.render('map');
});
/* Route 1 renders the location view */
router.get('/:id', function(req, res, next) {
  var locationId = parseInt(req.params.id); 

  console.log(locationId);
  // DO SOMETHING
  res.render('location');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...