路由在Express中不起作用

ami*_*mir 0 javascript parameters routes node.js express

我有两个途径/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;
}
Run Code Online (Sandbox Code Playgroud)

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

GET http://localhost:4000/rest-api/emails/?id=59
Run Code Online (Sandbox Code Playgroud)

id参数的第一个从不起作用.我怎样才能解决这个问题?

tbk*_*ing 5

正确的网址应该是:

http://localhost:4000/rest-api/emails/59
Run Code Online (Sandbox Code Playgroud)

并不是:

http://localhost:4000/rest-api/emails/?id=59
Run Code Online (Sandbox Code Playgroud)

这里的id是查询参数.