Javascript 路线不';我不能在快车上工作

Javascript 路线不';我不能在快车上工作,javascript,node.js,express,parameters,routes,Javascript,Node.js,Express,Parameters,Routes,我有两条路线/email和/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) => { consol

我有两条路线
/email
/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
参数的参数永远不起作用。如何解决此问题?

正确的url应为:

http://localhost:4000/rest-api/emails/59
而不是:

http://localhost:4000/rest-api/emails/?id=59
这里的id是查询参数。

您需要使用:

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

查询参数不计算。

http://localhost:400/rest-api/emails/59
是正确的。您使用的是参数,而不是查询

如果要使用查询,则在
签名后,它们的用法如下所示


http://localhost:400/rest-api/电子邮件?id=59

您能提供更多信息吗?不工作意味着什么?你是如何发送请求的?你知道你能做到的。get(“/emails”,(req,res)=>…)你的意思是忘记
console.log('get>/emails)之后的结束单引号吗?只是想确保这不是一个真正简单的错误输入。