封装vue3项目中axios的实例1

从0开始搭建框架,接口的封装是必不可少的,下面是一个不成熟的封装案例

1.下载axios插件是必不可少的

npm install axios

2. 我是在scr下面创建了一个api文件,下面又建了一个api.js的文件,取名这东西,follow you heart

import axios from 'axios';

const baseURL = 'https://api.example.com'; // 替换为您的API的基本URL

const axiosInstance = axios.create({
  baseURL,
});

// 请求拦截器
axiosInstance.interceptors.request.use(
  (config) => {
    // 在请求发送之前可以进行一些处理,如添加认证头部等
    // 例如,您可以在这里添加身份验证令牌
    // config.headers.Authorization = `Bearer ${token}`;
    return config;
  },
  (error) => {
    return Promise.reject(error);
  }
);

// 响应拦截器
axiosInstance.interceptors.response.use(
  (response) => {
    // 在这里对响应进行一些处理,例如处理错误信息或者对数据进行预处理
    return response.data;
  },
  (error) => {
    // 处理请求错误
    return Promise.reject(error);
  }
);

export default {
  // GET请求
  get(endpoint, params) {
    return axiosInstance.get(endpoint, { params });
  },

  // POST请求
  post(endpoint, data) {
    return axiosInstance.post(endpoint, data);
  },

  // PUT请求
  put(endpoint, data) {
    return axiosInstance.put(endpoint, data);
  },

  // DELETE请求
  delete(endpoint) {
    return axiosInstance.delete(endpoint);
  },
};

3.如何应用呢?

import Api from './api.js';

export default {
  methods: {
    async fetchData() {
      try {
        const response = await Api.get('/data'); // 发起GET请求
        // 处理响应数据
        console.log(response);
      } catch (error) {
        // 处理请求错误
        console.error(error);
      }
    },

    async saveData(data) {
      try {
        const response = await Api.post('/data', data); // 发起POST请求
        // 处理响应数据
        console.log(response);
      } catch (error) {
        // 处理请求错误
        console.error(error);
      }
    },

    async updateData(data) {
      try {
        const response = await Api.put('/data/1', data); // 发起PUT请求
        // 处理响应数据
        console.log(response);
      } catch (error) {
        // 处理请求错误
        console.error(error);
      }
    },

    async deleteData(id) {
      try {
        const response = await Api.delete(`/data/${id}`); // 发起DELETE请求
        // 处理响应数据
        console.log(response);
      } catch (error) {
        // 处理请求错误
        console.error(error);
      }
    },
  },
};

也算是一个最简单的应用方式了, 水了水了,各位晚安

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue 3使用Axios进行网络请求的封装可以通过创建一个axios实例来实现。首先,安装axios库: ```bash npm install axios ``` 然后,在项目创建一个`api`文件夹,用于存放API相关的文件。在该文件夹下创建一个`http.js`文件,用于封装axios。 ```javascript // api/http.js import axios from 'axios'; // 创建axios实例 const instance = axios.create({ baseURL: 'https://api.example.com', // 设置接口的基础url timeout: 5000, // 设置请求超时时间 }); // 请求拦截器 instance.interceptors.request.use( (config) => { // 在发送请求之前可以做一些操作,例如添加token等 return config; }, (error) => { return Promise.reject(error); } ); // 响应拦截器 instance.interceptors.response.use( (response) => { // 对响应数据进行处理,例如统一处理错误信息等 return response.data; }, (error) => { return Promise.reject(error); } ); export default instance; ``` 之后,在需要发送网络请求的地方,引入封装好的axios实例,并使用相应的HTTP方法进行请求。 例如,在一个`userService.js`文件封装了用户相关的API: ```javascript // api/userService.js import http from './http'; export function getUser(id) { return http.get(`/user/${id}`); } export function updateUser(id, data) { return http.patch(`/user/${id}`, data); } export function deleteUser(id) { return http.delete(`/user/${id}`);} ``` 现在,你可以在Vue组件调用这些API方法来发送网络请求了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值