以下代码逻辑。我发现在check.load之前调用了“checkLogin”,“checkAuthorization”。是否有人可以教我如何更改代码,以便先调用users.load?
app.param('userId', users.load);
app.get('/users/:userId', checkLogin, checkAuthorization, users.show)
答案 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();
});