我是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) {
...
});