Node JS を使用して Backbone JS と連携する REST Web サービスを開発しています。REST メソッドの 1 つに がGET /users/id/:id
あります。ここで、:id はユーザーの ID 番号です。このメソッドは、データベースからユーザーの詳細を返します。
私が理解していないのは、URL から応答ハンドラーに :id パラメーターを渡す方法です。
次のように 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));
}
});
}
}
}