Подтвердить что ты не робот

Node.js/Экспресс-маршрутизация с параметрами get

Скажем, у меня есть маршрут следующим образом:

app.get('/documents/format/type', function (req, res) {
   var format = req.params.format,
       type = req.params.type;
});

Итак, если я делаю запрос вроде

http://localhost:3000/documents/json/mini

в моем формате и переменных типа будут "json" и "mini" соответственно, но если я сделаю запрос вроде

http://localhost:3000/documents/mini/json

нет. Поэтому мой вопрос: как я могу получить одни и те же переменные в другом порядке?

4b9b3361

Ответ 1

Ваш маршрут не в порядке, он должен быть таким (с ':')

app.get('/documents/:format/:type', function (req, res) {
   var format = req.params.format,
       type = req.params.type;
});

Кроме того, вы не можете поменять порядок параметров, к сожалению. Для получения дополнительной информации о req.paramsreq.query) ознакомьтесь с ссылкой api здесь.

Ответ 2

Рассмотрите возможность использования обычно используемого формата domain.com/test?format=json&type=mini, тогда вы можете легко получить его через

app.get('/test', function(req, res){
  var format = req.query.format,
      type = req.query.type;
});