Javascript Express.js Route API无法提供全面的路由
我是MEAN stack的初学者,并使用express.js构建了一个APIJavascript 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中
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) {
...
});