Personnaly, puedo combinar req.params
, req.body
, req.query
en un solo objeto req.props
con Object.assign()
en ES6:
sólo tiene que escribir esto en su ruta:
app.all('/myroute/:myparam', (req, res, next) => {
// merge all req data in one
req.props = Object.assign(req.query, req.params, req.body);
// optional :
// delete req.query;
// delete req.params;
// delete req.body;
});
En ES5:
app.all('/myroute/:myparam', function(req, res, next){
// merge all req data in one
req.props = {};
if(req.query) for (var attrname in req.query) { req.props[attrname] = req.query[attrname]; }
if(req.params) for (var attrname in req.params) { req.props[attrname] = req.params[attrname]; }
if(req.body) for (var attrname in req.body) { req.props[attrname] = req.body[attrname]; }
// optional :
// delete req.query;
// delete req.params;
// delete req.body;
});
Ahora, puede acceder fácilmente a sus parámetros GET, POST, PUT con req.props
en todas sus rutas, tenga cuidado con el mismo nombre si decide eliminar la antigua solicitud.
Además, puede hacer un middleware/funciones para hacerlo aún más útil.
Más sobre Object.assign()
: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/assign
'JSON.stringify (req.query)' 'para GET' y' JSON.stringify (req.body) '' para Post' suponiendo que 'app.use (Express. bodyParser()) ' –