我正在使用 meanjs 的 MEAN 堆栈并具有以下路线:
// Teams Routes
app.route('/teams')
.get(teams.list)
.post(users.requiresLogin, teams.create);
app.route('/teams/:teamId')
.get(teams.read)
.put(users.requiresLogin, teams.update)
.delete(users.requiresLogin, teams.delete);
app.route('/teams/:teamId/participants')
.get(teams.teamParticipants);
// Finish by binding the Team middleware
app.param('teamId', teams.teamByID);
这里的问题是,每当我使用此路径访问资源时:
[GET]
http://localhost:3000/teams/547dd53b964b3514294d2dfe/participants
它总是返回 404 状态。当请求到达服务器时,它正在访问
teams.teamByID
从 param 但无法继续:
teams.teamParticipants
我想知道在定义路线时我是否做错了什么,以及是否有更好的方法来定义路线。
先感谢您。
编辑@mscdex 这是我的teamByID
exports.teamByID = function(req, res, next, id) {
Team.findById(id).exec(function(err, team) {
if (err) return next(err);
if (! team) return next(new Error('Failed to load Team ' + id));
req.team = team ;
next();
});
};