单个元素的快速路由

单个元素的快速路由

问题描述:

我使用快递4.9.0。 我在我的路径文件夹中的user.js文件中有以下代码。单个元素的快速路由

/* Get User by id. */ 
router.get('/:id', function(req, res) { 
    console.log('find user ' + req.params.id); 
    User.findById(req.params.id, function (err, user) { 
    if (!err) { 
     return res.send(user); 
    } 
    return console.log(err); 
    }); 
}); 

后来,在app.js:

app.use('/users', users); 

然而,当我浏览到http://localhost:3000/users?id=546e5640f5fea84a345abe2c路线永远不会打。呼叫其他路线工作正常。 我在做什么错?

对于你当前有的路线,你需要提出你的请求url:/users/546e5640f5fea84a345abe2c

如果你希望你的路线,以匹配目前你想请求URL(/users?id=546e5640f5fea84a345abe2c),那么你就不是做:

/* Get User by id. */ 
router.get('/', function(req, res) { 
    console.log('find user ' + req.query.id); 
    User.findById(req.query.id, function (err, user) { 
    if (!err) { 
     return res.send(user); 
    } 
    return console.log(err); 
    }); 
}); 
+0

谢谢!我开始休息,仍然必须得到使用! – Oscar 2014-11-21 14:56:00