vit*_*ano 5 rest restful-url node.js express
我有两条获取商店的GET路线,但是,一条路线用于获取所有商店,另一条路线用于获取附近的商店.
1)获取所有商店的网址请求如下:
http://mydomain/stores
Run Code Online (Sandbox Code Playgroud)
2)获取附近所有商店的网址:
http://mydomain/stores?lat={lat}&lng={lng}&radius={radius}
Run Code Online (Sandbox Code Playgroud)
问题是:
如何在Express中正确映射这些URL,以便将每个路由重定向到相应的方法?
app.get('/stores', store.getAll);
app.get('/stores', store.getNear);
Run Code Online (Sandbox Code Playgroud)
Pla*_*ato 12
app.get('/stores', function(req, res, next){
if(req.query['lat'] && req.query['lng'] && req.query['radius']){
store.getNear(req, res, next);
} else {
store.getAll(req, res, next)
};
});
Run Code Online (Sandbox Code Playgroud)
编辑 - 第二种方式:
store.getNear = function(req, res, next){
if(req.query['lat'] && req.query['lng'] && req.query['radius']){
// do whatever it is you usually do in getNear
} else { // proceed to the next matching routing function
next()
};
}
store.getAll = function(req, res, next){
// do whatever you usually do in getAll
}
app.get('/stores', store.getNear, store.getAll)
// equivalent:
// app.get('/stores', store.getNear)
// app.get('/stores', store.getAll)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6850 次 |
| 最近记录: |