快递app路线的顺序

时间:2014-05-12 08:03:15

标签: node.js express

以下代码逻辑。我发现在check.load之前调用了“checkLogin”,“checkAuthorization”。是否有人可以教我如何更改代码,以便先调用users.load?

app.param('userId', users.load);
app.get('/users/:userId', checkLogin, checkAuthorization, users.show)

1 个答案:

答案 0 :(得分:0)

app.param将逻辑映射到路由参数(请参阅http://expressjs.com/4x/api.html#app.param)时,您似乎在/users/:userId中缺少冒号。

但是,如果路由/users/userId是正确的,并且您不想在那里使用参数,那么您不应该使用app.param。相反,您可以注册一个通用的中间件函数来处理之前处理get的操作(在定义app.get之前执行) :

app.use(function(request, response, next){
    // do stuff
    next();
});