如何封装 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 请求,您可以使您的代码更易于使用、维护和扩展。

Axios 请求封装:提高代码可读性和可维护性

原文地址: https://www.cveoy.top/t/topic/rqt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录