0

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

パラメータからですが、次の場所に進むことができませんでした:

teams.teamParticipants

ルートを定義する際に間違っていることがあるかどうか、およびルートを定義するためのより良い方法があるかどうかを知りたいです。

前もって感謝します。


EDITS @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();
    });
};
4

2 に答える 2

0

この npm モジュール、expresspathを使用しています。コントローラー/ミドルウェアを分離します。:)

于 2014-12-06T12:00:18.150 に答える