如何使用axios拦截器来改变请求url

ifmq2ha2  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(466)

以下是我设置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中。
我认为请求拦截器在发送请求之前操纵了请求,所以我不确定我做错了什么。只有当我更改我的环境变量时,它才起作用。感谢您的帮助。非常感谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题