最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Nodejs,Express,路线

运维笔记admin7浏览0评论

Nodejs,Express,路线

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.

  });

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论