2015-10-18 3 views
5

、データがオブジェクトであるres.ok(data)を、使用してJSON応答を戻しながら、これを行うためにモデルに明示的gettersまたはsettersを持たずにsnake_casecamelCaseを変換するsails.jsにおける方法はありますか?SailsJS:暗黙のうちにJSONレスポンスでキャメルケースをスネークケースに変換するにはどうすればいいですか?

+0

オブジェクトのどのプロパティ/値を変換しますか? – Matt

+0

私のモデルの属性で、nodejsでJSON APIのレスポンスを使用し、snakeのケースでJSON APIのレスポンスを使用したいとします。私はすべての属性(createdAtとupdatedAtのようなユーザー定義の自動生成された属性を含む)が同じに従うことを望むでしょうか? –

+0

https://github.com/blakeembrey/snakecase –

答えて

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フォルダにカスタム応答を変更することなく、すべての応答のために動作します。

関連する問題