具有命名参数的Expressjs路由

时间:2016-05-18 15:46:41

标签: node.js express

我在命名参数上苦苦挣扎。 假设如下:

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

是一种合法路线,可以响应/names/buddy123

等请求

另一条合法路线是:

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

这将响应请求,并可能会返回所有可用年龄的列表。

当单独定义时,每个路由都已明确定义,但一旦存在,age被视为名称,请求不会按照我的预期进行路由。

有没有办法克服这个问题?

1 个答案:

答案 0 :(得分:1)

尝试在指定的路线前定义age路线:

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

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