以下是我设置axios示例的方式:
import axios from "axios";
let envData = {} || envData;
let instance = axios.create({
headers: {
Authorization:
process.env.NODE_ENV === "development"
? `Bearer ${process.env.VUE_APP_BEARER_TOKEN}`
: `Bearer ${envData.apiKey}`,
},
baseURL:
process.env.NODE_ENV === "development"
? process.env.VUE_APP_API
: envData.apiUrl,
timeout: 10000,
params: {},
});
这是我的拦截器中的代码
instance.interceptors.request.use((req) => {
console.log(`${req.method} ${req.url}`);
req.url = "/1" + req.url;
return req;
});
我所需要做的就是在我请求的路径前面加上一个id,这样完整的请求url看起来就像 domain/api/ID/restOfPath
. 如果我尝试这样做,我在控制台上看不到我的日志,在网络选项卡上也看不到对url的更新(这让我相信拦截器甚至从未运行过)。但是,如果我改变我的 axios.defaults.baseURL
为了将“1”附加到基本url的末尾,当我查看“网络”选项卡时,它会反映在url中。
我认为请求拦截器在发送请求之前操纵了请求,所以我不确定我做错了什么。只有当我更改我的环境变量时,它才起作用。感谢您的帮助。非常感谢。
暂无答案!
目前还没有任何答案,快来回答吧!