我正在开发一个使用Node JS与Backbone JS一起工作的REST Web服务。
其中一种REST方法是GET /users/id/:id
,其中:id是用户的id号。此方法将从数据库返回用户的详细信息。
我不明白的是如何将ur参数从url传递给响应处理程序。
我在app.js中定义了响应处理程序,如下所示:
app.get('users/id/:id',user.fetch(db));
这是user.fetch函数
exports.fetch = function(db){
return function(req,res){
var id = ;//how do I get the Id from the request?
console.log("id: "+id);
if(id !== null){
peopleDb = db.get('people');
peopleDb.find({"_id":id},function(e,docs){
if(e){
console.log(e);
}else
{
res.setHeader('Content-Type','application/json');
res.setHeader('Access-Control-Allow-Origin','*');
res.setHeader('Access-Control-Allow-Methods','GET,PUT,POST,DELETE');
res.writeHead(200);
res.end(JSON.stringify(docs));
}
});
}
}
}
答案 0 :(得分:2)
return function(req,res)
{
var id = req.params.id;
console.log("id: "+id);
// ...
这应该按预期工作。您可以阅读更多here