路由在Express中不起作用

时间:2017-08-22 17:21:33

标签: javascript node.js express parameters routes

我有两条路线/emails/eamils/:id

var createRouter = function() {
  var router = express.Router();

  router.route('/emails/:id').get((req, res) => {
    console.log('get=>/emails/id');
  });

  router.route('/emails').get((req, res) => {
    console.log('get> /emails');
  });

  return router;
}

每当发送下一个请求时,第二个处理程序都会被调用:

GET http://localhost:4000/rest-api/emails/?id=59

第一个采用id参数的参数永远不会起作用。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:5)

正确的网址应为:

http://localhost:4000/rest-api/emails/59

而不是:

http://localhost:4000/rest-api/emails/?id=59

这里的id是查询参数。

答案 1 :(得分:1)

您需要使用:

http://localhost:4000/rest-api/emails/59

查询参数不计算。

答案 2 :(得分:1)

<provider>是正确的。您使用的是参数,而不是查询

如果您想使用查询,则在http://localhost:400/rest-api/emails/59签名后,其用法就是这样。

?