SailsJS:如何在JSON响应中隐式地将camel case转换为snake case?

时间:2015-10-18 12:17:35

标签: json node.js sails.js

使用camelCase返回snake_case响应时,sails.js是否有办法将JSON转换为res.ok(data),其中数据是对象,而没有在模型中明确getterssetters来执行此操作?

1 个答案:

答案 0 :(得分:4)

还有另一个解决方案不需要在每个响应中实施。

您可以在api/hooks文件夹中定义自定义挂钩,其中包含以下内容:

var snakeCase = require('snake-case');

module.exports = function (sails) {
  return {
    routes: {
      after: {
        'all /*': function overrideJsonx(req, res, next) {
          var jsonx = res.jsonx;
          res.jsonx = function (obj) {
            var res = snakeCase(obj);
            jsonx(res);
          };

          next();
        }
      }
    }
  }
};

它适用于所有响应而无需在api/response文件夹中修改自定义响应。