我在我的 Express API 中使用 axios ,我想在将有效负载发送到另一个 API 之前对其进行转换。 axios 有这个叫做 transformRequest
的东西。这是我遇到问题的地方。
我的代码看起来像:
const instance = axios.create({
baseURL: 'api-url.com',
transformRequest: [
(data, headers) => {
const encryptedString = encryptPayload(JSON.stringify(data));
data = {
SecretStuff: encryptedString,
};
return data;
},
],
});
// firing off my request using the instance above:
const postData = {
id: 1,
name: 'James',
};
instance.post('/getStuff', postData)
最后,我想发布 api-url.com
JSON: {"SecretStuff": "some-base64-string"}
而不是上面显示的 postData
对象。
从文档中,它说:“数组中的最后一个函数必须返回一个字符串或 Buffer、ArrayBuffer、FormData 或 Stream 的实例”——但当然我在这里返回一个对象,数据。奇怪的是,在 axios 文档中它显示它们从 — data
返回 transformRequest
,但在它们的情况下必须是正确的数据类型。
我 实际上 如何使用 axios 转换有效载荷?
原文由 james 发布,翻译遵循 CC BY-SA 4.0 许可协议
你不想
JSON.stringify()
你转换后的数据吗?像下面这样: