正确处理匹配两条路由的URL

时间:2014-10-30 08:59:29

标签: node.js express routing

我有两个网址如下:

http://domain.com/api/locations/codeforlocation
http://domain.com/api/locations/import

在我的路由文件中,我有以下相同的顺序:

app.put('api/locations/:location', require('./api/locations.js').put);
app.put('api/locations/import, require('./api/locationsimport.js').put);

但是当我打电话给" http://domain.com/api/locations/import"这总是称之为" http://domain.com/api/locations/codeforlocation"仅

如何区分路径参数?

1 个答案:

答案 0 :(得分:3)

切换处理程序的顺序:

app.put('api/locations/import', require('./api/locationsimport.js').put);
app.put('api/locations/:location', require('./api/locations.js').put);

路线按照他们定义的顺序执行,因此您需要先定义更具体的路线。