我想为res.json添加一个自定义包装器,我会在发送响应之前进行一些预处理。
我尝试的两件事是:
首先,在express.response
对象上添加包装器方法:
var express = require("express");
express.response.customJSON = function() {
// my wrapper goes here
};
其次,在我编写包装器的地方添加一个中间件:
function(req, res, next) {
res.customJSON = function() {
// my wrapper goes here
}
next();
}
第一种方法的问题是我使用大量代码使我的app.js
文件变得混乱,因为我想为不同的响应类型设置多个包装器。
第二种方法的问题是为每个响应创建了一个新的customJSON
函数。我可以使用util.inherit
并添加到响应原型中,但我不确定如何以安全的方式执行此操作。
你有什么建议吗?我怎么能这样做?