单个元素的快速路线

时间:2014-11-21 14:39:11

标签: node.js express

我使用快递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时,路线永远不会被击中。呼叫其他路线工作正常。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

对于您目前拥有的路线,您需要提出以下请求:/users/546e5640f5fea84a345abe2c

如果您希望自己的路线与您当前正在尝试的请求网址(/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);
  });
});