0

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));
                }
                });
        }
    }
}
4

1 に答える 1

2
return function(req,res)
   {
      var id = req.params.id;
      console.log("id: "+id);
      // ...  

これは期待どおりに動作するはずです。詳細はこちら

于 2013-11-02T09:33:29.690 に答える