快递文件用什么快递:快递路线参数(express router parameters)

关于快递文件用什么快递的问题,在express router parameters中经常遇到, 我试图在我的快递应用程序中创建两条路线。一条路线,没有参数会给我一个选择列表,另一条带有参数的路线会给我与 id 相关的选择。

我试图在我的快递应用程序中创建两条路线。一条路线,没有参数会给我一个选择列表,另一条带有参数的路线会给我与 id 相关的选择。

router.get('/api/choice', choice_controller.get_choices);
router.get('/api/choice/:id', choice_controller.get_choice);

当我去.../ api / choice /?id = 1 api 返回选择列表,因此遵循没有 param(/ api / choice)的路由。

提前谢谢。

UPDATE似乎它不会触发 / api / choice /:id 路由。如果我删除没有 param 的那个,它给出了一个 404。有人可以向我解释为什么 / api / choice /?id = 1 没有被 / api / choice /:id 接走?

58

基本上,您声明的路由记录在Express documentation中。

第二条路由由像/api/choice/hello这样的 URL 解析,其中 'hello' 被映射到req对象对象:

router.get('/api/choice/:id', function (req, res) {
  console.log("choice id is " + req.params.id);
});

您实际尝试的是映射查询参数。

/api/choice/?id=1这样的 URL 由您提供的第一个路由器解析。查询参数很容易映射到请求,如下所示:

router.get('/api/choice', function (req, res) {
  console.log('id: ' + req.query.id);
  //get the whole query as!
  const queryStuff = JSON.stringify(req.query);
  console.log(queryStuff)
});

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(102)
时钟同步服务器:如何与Spotify服务器同步时钟
上一篇
依赖服务或组无法启动:错误1068:依赖项服务或组无法启动 (Windows7)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(35条)