【问题标题】:SailsJS : How to convert camel case to snake case in JSON response implicitly?SailsJS:如何在 JSON 响应中隐式地将骆驼案例转换为蛇案例?
【发布时间】:2016-01-16 19:42:36
【问题描述】:

sails.js 中是否有一种方法可以将camelCase 转换为snake_case,同时使用res.ok(data) 返回JSON 响应,其中数据是一个对象,而没有显式的getterssetters模型来做到这一点?

【问题讨论】:

  • 您要转换对象中的哪些属性/值?
  • 我希望我的模型中的属性在 nodejs 中使用驼峰式大小写,而 JSON API 响应在蛇形案例中。我希望所有属性(包括用户定义和自动生成的属性,如 createdAt 和 updatedAt)都遵循相同的?

标签: json node.js sails.js


【解决方案1】:

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

您可以在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 文件夹中的自定义响应。

【讨论】:

    猜你喜欢
    • 2019-10-30
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-03
    • 2022-06-11
    • 2017-05-08
    • 2017-04-08
    相关资源
    最近更新 更多