nodejsルート経路パラメータ

2375 ワード

ルートマッチングパスを定義するとき:
app.get('/click',function(req,res){
    res.send('click');
})
単一の固定静的なurlは、大量の動的処理を満たすことができません.コードを次のように変更できます.
app.get('/click/:id',function(req,res){
    var id = req.params.id;
    res.send();
})
このように、idのような正則はreq.paramsの対象になります.
var arr = {
    "beijing":{
        "mary":"my name is mary"
    },
    "shanghai":{
        "tony":"my name is tony"
    }
}
app.get('/click/:city/:name',function(req,res,next){
    var info = arr[req.params.city][req.params.name];
    if(!info) return next();//          404   。
    res.send('description',info);
})
このようにすれば、いくつかの動的な要求を満たすことができる.
いくつかの正の表現は、同じルーティング処理/userおよび/usernameを使用するなど、経路で直接使用することができます.
app.get('/user(name)?',function(req,res){
    res.send('user');
})
処理要求:
res.query //  get  ;
res.body  //  post  
res.params  //  get post  ,         :params->body->query