Nodejs,Express,路由

我已经使用express构建了一个api。在我的路线文件我有:Nodejs,Express,路由

app.route('/getBalances') 

.post(api.getBalances);

api.getBalances,取决于参数通过邮局发送称为“车辆”获得第一它是正确的控制器加载并调用其getBalances方法,例如:

var controller = commonModel.getController(query.vehicle.toLowerCase()); 

controller.getBalances();

getBalances不是我唯一的入口点,所以我想知道是否可以调用每个入口点的“全局”方法,这样我就不需要识别正确的每种方法的控制器,但全局方法。

在此先感谢您的帮助。

回答:

使用将在添加任何api路由之前运行的初步中间件。例如:

// This middleware has to be added first. 

app.use(function(req, res, next) {

var query = req.query; // or `req.body`, whatever you like

if (query && query.vehicle) {

req.controller = commonModel.getController(query.vehicle.toLowerCase());

}

next(); // delegate request to the next routes

});

// Now add specific api middlewares.

app.route('/getBalances')

.post(function(req, res) {

var controller = req.controller; // we've populated this earlier

res.send(controller.getBalances());

});

app.route('/anotherMethod')

.post(function(req, res) {

var controller = req.controller;

// etc.

});

以上是 Nodejs,Express,路由 的全部内容, 来源链接: utcz.com/qa/261168.html

回到顶部