Sails.js更改特定路径的bodyParser

时间:2016-01-09 13:13:41

标签: sails.js skipper

在Sails.js 0.10.5中,我想替换特定路径的bodyParser。例如,使用不同的正文解析器进行路径' / app / upload'其余使用默认值。我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以通过覆盖config/http.js来完成此操作。将自定义解析器添加到中间件,并使用自定义解析器替换订单中的bodyParser

这样的事情应该有效

module.exports.http = {
    middleware: {
        superBodyParser: function (req, res, next) {
            if (req.path === '/app/upload') {
                // your custom parser
            }
            else {
                require('skipper')(req, res, next);
            }
        },
        order: [
          'startRequestTimer',
          'cookieParser',
          'session',
          'myRequestLogger',
          // 'bodyParser',  <-- not required anymore
          'superBodyParser' 
          'handleBodyParserError',
          'compress',
          'methodOverride',
          'poweredBy',
          '$custom',
          'router',
          'www',
          'favicon',
          '404',
          '500'
        ]
    }
};