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
нет. Поэтому мой вопрос: как я могу получить одни и те же переменные в другом порядке?
Ответы
Ответ 1
Ваш маршрут не в порядке, он должен быть таким (с ':')
app.get('/documents/:format/:type', function (req, res) {
var format = req.params.format,
type = req.params.type;
});
Кроме того, вы не можете поменять порядок параметров, к сожалению.
Для получения дополнительной информации о req.params
(и req.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;
});