在定义路由匹配路径的时候:
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