Axios 请求封装:提高代码可读性和可维护性
如何封装 Axios 请求
封装 Axios 请求可以提高代码的可读性和可维护性,并简化您的 API 调用。以下是一个简单的示例,展示如何封装 Axios 请求:
1. 创建 API 模块
创建一个单独的模块或文件,例如 api.js,用于处理 Axios 请求。
// api.js
import axios from 'axios';
const api = axios.create({
baseURL: 'https://api.example.com', // 设置基本的请求 URL
timeout: 5000, // 设置请求超时时间
});
// 封装 GET 请求
export const get = async (url, params = {}) => {
try {
const response = await api.get(url, { params });
return response.data;
} catch (error) {
throw new Error(error.response.data.message || '请求失败');
}
};
// 封装 POST 请求
export const post = async (url, data = {}) => {
try {
const response = await api.post(url, data);
return response.data;
} catch (error) {
throw new Error(error.response.data.message || '请求失败');
}
};
// 其他请求封装,如 PUT、DELETE 等
export default api;
2. 使用封装的请求方法
在您的应用程序中,您可以使用这些封装好的请求方法:
import { get, post } from './api.js';
// 使用 GET 请求
get('/users', { page: 1, limit: 10 })
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
// 使用 POST 请求
post('/login', { username: 'admin', password: '123456' })
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
优势
- 代码重用: 您可以轻松地重复使用这些封装的请求方法,避免重复编写相同的代码。
- 可维护性: 将所有请求逻辑集中在一个地方,使代码更易于维护和修改。
- 错误处理: 可以集中处理请求错误,并提供更友好的错误提示。
其他考虑因素
- 错误处理: 可以根据您的需求添加更详细的错误处理逻辑。
- 请求拦截器: Axios 提供了请求拦截器和响应拦截器,可以用于添加全局的请求处理逻辑,例如添加请求头信息。
- 类型安全: 使用 TypeScript 可以提高代码的类型安全性。
通过封装 Axios 请求,您可以使您的代码更易于使用、维护和扩展。
原文地址: https://www.cveoy.top/t/topic/rqt 著作权归作者所有。请勿转载和采集!