Axios在实例化之后修改baseURL或其他配置

一. 修改全局默认配置:

在使用axios请求的时候一般会进行封装,如:

import axios from "axios";
const request = axios.create({
  // baseURL: import.meta.env.VITE_APP_BASEURL,
  baseURL: "https://www.xxx.com",
  timeout: 10 * 1000,
});
...
export default request;

在有些情况下需要动态修改baseURL或其他配置,此时可通过以下方法修改默认配置:

import request from "/xxx/xxx";
request.defaults.baseURL = "http://xxxxxx";

官方文档相关链接

二. 修改单个接口配置:

当不想修改全局设置,只要修改某个接口的配置项时,按以下方法修改:

  1. 直接请求
import request from "/xxx/xxx";
const config = {
  baseUrl: "http://xxxxxx",
  timeout: 5 * 1000,
};
export function getData(params) {
  return request({
    method: "get",
    url: "/api/get/xxx",
    params,
    ...config,
  });
}
export function postData(params) {
  return request({
    method: "post",
    url: "/api/post/xxx",
    data: params,
    ...config,
  });
}
  1. 请求方式别名
import request from "/xxx/xxx";
const config = {
  baseUrl: "http://xxxxxx",
  timeout: 5 * 1000,
};
// axios.get(url[, config])
export function getData(params) {
  return request.get("/api/get/xxx", { params, ...config });
}
// axios.post(url[, data[, config]])
export function postData(params) {
  return request.post("/api/post/xxx", params, config);
}

其他配置项见官方文档
其他请求方式见官方文档

posted @ 2023-05-18 11:56  Li_pk  阅读(1005)  评论(0编辑  收藏  举报