2015-08-28 1 views
2

Я новичок в стек MEAN и построил API, используя express.jsExpress.js Route 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-интерфейс работал отлично, используя этот маршрут, но когда я изменил выше маршрут к «поймать всех» маршрут

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

API не работал (я использовал Postman для него), и он возвратил страницу index.ejs вместо ответа json. Может кто-то объяснить, почему это произошло, я хочу использовать маршрут catch-all и хочу, чтобы API работал.

ответ

1

Что входит в ваш код? Маршрут до /users или весь маршрут? Сначала вам нужно определить более конкретные маршруты, а в конце - все.

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

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

Взяв весь маршрут в конце работы! Спасибо связка :) – Sibtain

+0

Я даже не могу принять ответ, так как он ответил менее чем за 5 минут – Sibtain

+0

Хе-хе, хорошо, не спешите;) –