我是MEAN堆栈的初学者,使用express.js
构建了一个APIvar 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工作正常,但当我将上述路线更改为“全能”路线时
router.get('*', function(req, res, next) {
res.render('index');
});
API不起作用(我使用Postman),它返回index.ejs
页面而不是json响应。有人可以解释为什么会发生这种情况我想使用catch-all路线并希望API也能正常工作。
答案 0 :(得分:1)
代码中的第一个是什么?到/users
或全能路线的路线?
您需要先定义更具体的路线,最后定义全能路线。
router.get('/users', function(req, res, next) {
...
});
router.get('*', function(req, res, next) {
...
});