Express.js 路线 API 无法提供包罗万象的路线
Express.js Route API does not work on providing a catch-all route
我是 MEAN 堆栈的初学者,使用 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 没有工作(我使用 Postman),它返回了 index.ejs
页面而不是 json 响应。有人可以解释为什么会这样我想使用包罗万象的路线并希望 API 也能正常工作。
您的代码中什么排在第一位?通往 /users
的路线还是包罗万象的路线?
您需要先定义更具体的路由,然后再定义包罗万象的路由。
router.get('/users', function(req, res, next) {
...
});
router.get('*', function(req, res, next) {
...
});
我是 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 使用这条路线时效果很好,但是当我将上述路线更改为 "catch-all" 路线时
router.get('*', function(req, res, next) {
res.render('index');
});
API 没有工作(我使用 Postman),它返回了 index.ejs
页面而不是 json 响应。有人可以解释为什么会这样我想使用包罗万象的路线并希望 API 也能正常工作。
您的代码中什么排在第一位?通往 /users
的路线还是包罗万象的路线?
您需要先定义更具体的路由,然后再定义包罗万象的路由。
router.get('/users', function(req, res, next) {
...
});
router.get('*', function(req, res, next) {
...
});