向 Express 路由添加参数时出现 404

Pet*_*cec 0 javascript express

我正在尝试传递一个 url 参数,例如

http://xxx/api/users?facebookUserId=10213594301678639

这是我的 App.js:

// route setup
const usersRouter = require('./routes/users');
app.use('/api/users', usersRouter);

module.exports = app;
Run Code Online (Sandbox Code Playgroud)

这是我的 users.js:

router.get('/:facebookUserId', jsonParser, async (req, res) => {
  // get user by facebookUserId
  const users = db.collection('users');  
  const facebookUserId = req.params.facebookUserId; 
  const query = {
    facebookUserId: facebookUserId,
  };
  const user = await findOne(users, query);
  res.json(user);
});

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

我的问题是我一添加就得到404

:facebook用户ID

到 router.get()

小智 6

在您的路线中,您期望参数facebookUserId是路线参数(例如 /api/users/10213594301678639),但在上面的示例中,您使用查询参数调用路线(/api/users?facebookUserId=10213594301678639)