我正在开发一个中间件,它向第三方URL发送请求并获取数据,然后我的中间件处理该数据,然后发送给客户端。
我想找到一种更新API响应然后发送给客户端的方法。
E.x。
var obj = {
uid:123,
name:test
}
当我将res发送给客户端时,它应该是这样的
var obj = {
sid:123,
username:test
}
我需要从服务器端进行此类更改,而不是在所有AP中编写相同的代码。我需要全球化的方法来解决这个问题。
答案 0 :(得分:0)
可以做的是创建一个从服务器端密钥名称映射到客户端密钥名称的JSON。
实施例。
const keyMap = {
sid: sid
name: username
}
然后迭代你的对象,并从中创建一个带有请求密钥的新对象。
let obj2 = {};
Object.keys(obj1).forEach(k => {
obj2[keyMap[k] || k] = obj1[k];
});
您仍然需要调用一个函数来转换每个API中的对象。或者,覆盖res.json
方法以首先调用convert函数,然后调用原始的res.json
方法。