├─ src
│ ├─ api
│ │ ├─ request.js
│ │ └─ api.js
│ └─ ...
└─ ......
为了便于维护,开发中通常会对 Axios 进行封装,建立一个统一的文件来管理请求。
此外,还可以通过拦截器对请求和响应进行预处理。
1import axios from "axios";
2
3// 创建 Axios 实例
4const instance = axios.create({
5 baseURL: "http://127.0.0.1:3000",
6 timeout: 3000,
7});
8
9// 请求拦截器
10instance.interceptors.request.use(
11 (config) => {
12 // 在这里可以对请求头、请求参数等进行处理
13 return config;
14 },
15 (err) => {
16 return Promise.reject(err);
17 }
18);
19
20// 响应拦截器
21instance.interceptors.response.use(
22 (response) => {
23 // 在这里可以对响应数据进行统一处理
24 return response;
25 },
26 (err) => {
27 return Promise.reject(err);
28 }
29);
30
31export default instance;
通过 api.js
文件统一管理 API 请求,便于维护和扩展。
1// 导入封装好的 Axios 实例
2import request from "./request";
3
4// 按需导出每个 API 请求
5export const GetAPI = () => request.get("/posts");
在项目中使用封装好的 API 方法发起请求。
1import { GetAPI } from "@/api/api";
2
3// 发起 GET 请求
4GetAPI().then((response) => {
5 console.log("请求成功:", response.data);
6}).catch((error) => {
7 console.error("请求失败:", error);
8});