2015-10-18 10 views
5

C'è un modo in sails.js per convertire camelCase-snake_case mentre tornava la risposta JSON utilizzando res.ok(data), in cui i dati è un oggetto, senza dover esplicito getters o setters nel modello per fare questo?SailsJS: come convertire il caso cammello in caso di serpente nella risposta JSON implicitamente?

+0

Quali proprietà/valori nell'oggetto si desidera convertire? – Matt

+0

Vorrei che i miei attributi nel mio modello usassero case cammello in nodejs e le risposte API JSON fossero in casi di serpente. Vorrei che tutti gli attributi (inclusi gli attributi definiti dall'utente e generati automaticamente come createdAt e updatedAt) seguissero lo stesso? –

+0

puoi usare https://github.com/blakeembrey/snake-case –

risposta

4

Esiste anche un'altra soluzione che non è necessario implementare in ciascuna risposta.

È possibile definire il vostro gancio personalizzato nella cartella api/hooks con seguente contenuto:

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(); 
     } 
     } 
    } 
    } 
}; 

Essa opererà per tutte le risposte senza modificare risposte personalizzate nella cartella api/response.

Problemi correlati