Om du använder express, skicka inte meddelandet från kontrollen . Gör en mellanprogramvara vars huvudsakliga syfte är att skicka svaret till klienten. Detta ger dig möjlighet att ställa in formatet bestå svar till klienten.
Till exempel har jag gjort svaret mellanprogram så här :-
module.exports = function(req, res, next) {
const message = {};
message.body = req.responseObject;
message.success = true;
message.status = req.responseStatus || 200;
res.status(message.status).send(message);
return next();
};
Ovanstående kod kommer att generera formatet så här.
{
"success": true,
"status": 200,
"body": {
"name": "rahul"
}
}
Du kan använda request uplifter egendom av uttrycklig. Du kan lägga till responseObject och responseStatus från tidigare mellanprogram.
Fel kan också göras i separat mellanprogram.
Du kan ringa med detta i dina rutter:-
const responseSender = require('./../middleware/responseSender');
/* your rest middleware. and put responseSender middleware to the last.*/
router.get('/',/* Your middlewares */, responseSender);
Du kan kalla det genom:-
exports.groups_Get_All = (req, res, next) => {
Group.find()
.exec()
.then(docs => {
const response =
docs.map(doc => {
return {
gname: doc.gname,
employee: doc.employeeId,
_id: doc._id,
createdAt: doc.createdAt
};
})
req.responseObject = response; // This will suffice
return next()
})
.catch(next);
}