2016-02-24 22 views
20

devoUtilizzando l'epilogo, è possibile recuperare una risorsa senza associazioni?

epilogue.resource({ 
    model: db.Question, 
    endpoints: ['/api/questions', '/api/questions/:id'], 
    associations: true 
}); 

Così, quando ho colpito /api/questions, torno tutte le associazioni con le risorse. C'è qualcosa che posso passare per non ottenere le associazioni in certi casi? O devo creare un nuovo endpoint:

epilogue.resource({ 
    model: db.Question, 
    endpoints: ['/api/questions2', '/api/questions2/:id'] 
}); 
+0

Forse questo commit fa quello che stai cercando: [Consenti non leggere associazioni in lettura] (https://github.com/dchester/epilogue/pull/122) – dafyk

risposta

1

Un modo per farlo è quello di utilizzare pietre miliari è possibile definire pietra miliare per la lista e leggere il comportamento in certi casi, si ha accesso a oggetto req modo da poter fare le modifiche di conseguenza

https://github.com/dchester/epilogue#customize-behavior

Ecco un esempio di modifica lista chiamate

// my-middleware.js 
module.exports = { 
    list: { 
    write: { 
     before: function(req, res, context) { 
     // modify data before writing list data 
     return context.continue; 
     }, 
     action: function(req, res, context) { 
     // change behavior of actually writing the data 
     return context.continue; 
     }, 
     after: function(req, res, context) { 
     // set some sort of flag after writing list data 
     return context.continue; 
     } 
    } 
    } 
}; 

// my-app.js 
var epilogue = require('epilogue'), 
    restMiddleware = require('my-middleware'); 

epilogue.initialize({ 
    app: app, 
    sequelize: sequelize 
}); 

var userResource = epilogue.resource({ 
    model: User, 
    endpoints: ['/users', '/users/:id'] 
}); 

userResource.use(restMiddleware);