2015-10-18 36 views
5

是否有sails.js辦法camelCase轉換爲snake_case返回時使用res.ok(data),其中的數據是一個對象的JSON響應,而無需顯式getterssetters模型做到這一點?SailsJS:如何隱式地將JSON響應中的駱駝事件轉換爲蛇事件?

+0

要轉換的對象中有哪些屬性/值? – Matt

+0

我希望我的模型中的屬性能夠在nodejs中使用camel case,並且在蛇情況下使用JSON API響應。我希望所有的屬性(包括用戶定義和自動生成的屬性,如createdAt和updatedAt)遵循相同的? –

+0

你可以使用https://github.com/blakeembrey/snake-case –

回答

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文件夾修改自定義響應。

相關問題