Express.js的路由API不能提供一个通用的路由



我是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"路由

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

API不工作(我使用邮差),它返回的index.ejs页,而不是json响应。有人能解释一下为什么会发生这种情况吗?我想使用全能路由,并希望API也能正常工作。

你的代码中什么是最重要的?到/users的路线还是包罗万象的路线?你需要先定义更具体的路由,然后在最后定义全局路由。

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

相关内容

  • 没有找到相关文章

最新更新