Javascript Express.js Route API无法提供全面的路由

Javascript Express.js Route API无法提供全面的路由,javascript,node.js,express,mean-stack,Javascript,Node.js,Express,Mean Stack,我是MEAN stack的初学者,并使用express.js构建了一个API var User = mongoose.model('User'); router.get('/users', function(req, res, next) { User.find(function(err, users){ if(err){ return next(err); } res.json(users); }); }); 这是我在index.js中

我是MEAN stack的初学者,并使用express.js构建了一个API

var User = mongoose.model('User');

router.get('/users', function(req, res, next) {
  User.find(function(err, users){
    if(err){ 
        return next(err); 
    }

    res.json(users);
  });
});
这是我在index.js中的路线

router.get('/', function(req, res, next) {
  res.render('index');
});
API使用这个路由工作得很好,但是当我将上面的路由更改为“catch all”路由时


API不起作用(我使用了Postman),它返回了
index.ejs
页面,而不是json响应。有人能解释一下为什么会发生这种情况吗?我想使用catch-all-route并希望API也能正常工作。

您的代码中首先出现的是什么?到
/users
的路线,还是全面覆盖路线? 您需要首先定义更具体的路线,并在最后定义“全部覆盖”

router.get('/users', function(req, res, next) {
  ...
});

router.get('*', function(req, res, next) {
  ...
});

在最后采取“一网打尽”的路线奏效了!非常感谢:)我甚至不能接受这个答案,因为它在不到5分钟内就被回答了
router.get('/users', function(req, res, next) {
  ...
});

router.get('*', function(req, res, next) {
  ...
});