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

我有两个url如下:

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 ”

如何区分我的path参数?

切换处理程序的顺序:

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

路由按照它们定义的顺序执行,所以你需要首先定义更具体的路由。