2016-05-18 3 views
0

Я немного борюсь с именованными параметрами. Предполагая следующее:Маршруты Expressjs с именованными параметрами

app.get('/names/:name', function (request, response) { 
    … 
}); 

Является ли законным маршрут, который будет ответом на запросы, такие как /names/buddy123

Другой законный маршрут:

app.get('/names/age', function (request, response) { 
    … 
}); 

Это будет ответ на запросы и, вероятно, возвращать список всех имеющихся возрастов.

Каждый маршрут четко определен, если он определен отдельно, но как только оба существуют, age считается именем и запрашивает arent, как и ожидалось.

Есть ли способ преодолеть это?

ответ

1

Попробуйте определить свой маршрут age перед именем одного:

app.get('/names/age', function (request, response) { 
    … 
}); 

app.get('/names/:name', function (request, response) { 
    … 
}); 
+0

Это не работает. Поведение остается неизменным – buddy123

+0

@ buddy123 работает для меня с express 4.13.4 – madox2

+0

Я бегаю 4.13.4, и это не работает для меня. Есть еще несколько способов проверить это? – buddy123

Смежные вопросы