che*_*bad 4 javascript node.js express
在我目前开发的应用程序中,它使用的是 Express。就我而言,我想在发送之前得到响应并对其进行修改(出于 JWT 的目的)。在这个应用程序中,有十几个端点,我不想创建我自己的函数,就像在代码中到处sendAndSign()
替换res.send()
。我听说有覆盖/修改res.send(...)
方法逻辑的选项。
我发现了类似这个修改示例的东西,但在我的情况下这不起作用。是否有其他选项(可能使用某些插件)来管理此操作?
sha*_*ncs 15
您可以通过临时覆盖拦截 Express 中的响应正文res.send
:
function convertData(originalData) {
// ...
// return something new
}
function responseInterceptor(req, res, next) {
var originalSend = res.send;
res.send = function(){
arguments[0] = convertData(arguments[0]);
originalSend.apply(res, arguments);
};
next();
}
app.use(responseInterceptor);
Run Code Online (Sandbox Code Playgroud)
我在 Node.js v10.15.3 中测试过,效果很好。
归档时间: |
|
查看次数: |
5534 次 |
最近记录: |