Nodejs,Express,路线
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nodejs,Express,路线相关的知识,希望对你有一定的参考价值。
我用快递建立了一个api。在我的路线文件中,我有:
app.route('/getBalances')
.post(api.getBalances);
api.getBalances,取决于通过名为“vehicle”的帖子发送的参数获取第一个是正确的控制器来加载和调用其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,路线的主要内容,如果未能解决你的问题,请参考以下文章
使用 Mongoose、Express、NodeJS 更新模型