如何在axios请求中拦截uri的路径参数

时间:2019-11-26 23:59:13

标签: javascript node.js http axios

是否可以编写拦截器或转换请求URI以将URI路径参数/查询参数字符串编码为UTF-8?

我可以使用encodedUriComponent方法对字符串进行编码,并按如下所示构造URI,例如,如果用户输入userid作为"!@#$%^&*()"

 const id = encodeURIComponent(userid);
 const response = await axios.get('https://users/api/' + id)

但是我希望对所有axios API调用都在一个地方进行。尽管transformrequest是一个可以拦截的地方,但我不确定如何解析URI路径或查询字符串参数。

const instance = axios.create({
    baseURL: 'api-url.com',
    transformRequest: [
        (data, headers) => {
            const encryptedString = encryptPayload(JSON.stringify(data));

            data = {
                SecretStuff: encryptedString,
            };

            return JSON.stringify(data);
        },
    ],  
});

0 个答案:

没有答案