首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >404当向Express路由添加params时

问404当向Express路由添加params时
EN

Stack Overflow用户
提问于 2019-01-17 04:53:27
回答 3查看 1.1K关注 0票数 0

我正试图传递一个url解析,就像

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

这是我的App.js:

代码语言:javascript
复制
// route setup
const usersRouter = require('./routes/users');
app.use('/api/users', usersRouter);

module.exports = app;

这是我的users.js:

代码语言:javascript
复制
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;

我的问题是我一加上404就能得到404

*facebookUserId

到router.get()

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-01-17 05:01:45

在您的路由中,您期望参数facebookUserId是一个路由参数(如/api/user/10213594301678639),但在上面的示例中,您使用一个查询参数(/api/user?facebookUserId=10213594301678639)调用该路由。

票数 4
EN

Stack Overflow用户

发布于 2019-01-17 05:00:21

似乎您正在尝试从get端点路由获取查询字符串,而不是param。

在users.js中,从req.query获取查询字符串。

代码语言:javascript
复制
// as your path is the same with the endpoint prefix api/users, use '/'
router.get('/', jsonParser, async (req, res) => {
  // get user by facebookUserId
  const users = db.collection('users');  

  // get the query string from req.query
  const facebookUserId = req.query.facebookUserId; 

  const query = {
    facebookUserId: facebookUserId,
  };
  const user = await findOne(users, query);
  res.json(user);
});

module.exports = router;

如果您希望像在原始代码中一样使用param而不是/:facebookUserId,则需要将端点调用更改为类似于so http://xxx/api/users/10213594301678639

票数 3
EN

Stack Overflow用户

发布于 2019-01-17 05:29:08

执行以下操作可以捕获查询param:

代码语言:javascript
复制
router.get(':facebookUserId?' ... (req, res) => { 
 ... 
 const facebookUserId = req.query.facebookUserId; 
 ... 
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54229264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档