考虑以下快速中间件,目的是将json响应转换为支持json api的响应
var prefix = "/api/v1/";
app.use(prefix + "*", function userMiddleware(req, res, done) {
res.jsonFinal = res.json;
res.json = function(json){
if(req.headers["accept"] === "application/vnd.json"){
//postprocessing here
res.jsonFinal(json);
}else{
res.jsonFinal(json);
}
}
done();
});
如图所示,这会在回复的基础上覆盖res.json
。
这似乎工作正常。但是,我想知道:这样做有什么副作用吗?