当前位置: 首页 > news >正文

vue3 axios接口封装

 

在Vue 3中,可以通过封装axios来实现接口的统一管理和调用。封装后的接口调用更加简洁,代码可维护性也更好。以下是一个简单的Vue 3中axios接口封装的示例:

1.首先,安装axios和qs(如果需要处理复杂数据):

npm install axios qs

2.创建一个api.js文件用于存放接口封装的代码:

// api.js
import axios from 'axios';
import qs from 'qs';// 创建axios实例
const instance = axios.create({baseURL: 'https://api.example.com', // 替换为你的后端接口地址timeout: 10000, // 请求超时时间
});// 请求拦截器
instance.interceptors.request.use(config => {// 在请求发送之前可以做一些处理,比如添加请求头等return config;},error => {// 请求错误处理return Promise.reject(error);}
);// 响应拦截器
instance.interceptors.response.use(response => {// 在这里可以对响应数据进行处理return response.data;},error => {// 响应错误处理return Promise.reject(error);}
);// 封装get请求
export function get(url, params) {return instance.get(url, {params,});
}// 封装post请求
export function post(url, data) {return instance.post(url, qs.stringify(data));
}

3.在Vue组件中使用接口:

<template><div><button @click="getData">获取数据</button><div v-if="data"><p>{{ data }}</p></div></div>
</template><script>
import { get } from './api'; // 替换为你的api.js文件的路径export default {data() {return {data: null,};},methods: {async getData() {try {const response = await get('/data'); // 替换为你的后端接口路径this.data = response;} catch (error) {console.error('获取数据失败:', error);}},},
};
</script>

在上述示例中,我们在api.js文件中封装了get和post请求,并配置了axios的请求拦截器和响应拦截器,以便在请求发送和响应返回时进行统一处理。然后,在Vue组件中,我们通过导入get函数来调用后端接口获取数据。

这样,你就可以在Vue 3项目中使用封装后的axios接口调用,更加方便和灵活地管理和调用后端接口。同时,通过axios的拦截器,你可以在请求和响应时进行一些全局的处理,如添加请求头、统一处理错误等。

 

http://www.lryc.cn/news/104079.html

相关文章:

  • 誉天程序员-2301-3-day08
  • Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式
  • 前端(十一)——Vue vs. React:两大前端框架的深度对比与分析
  • 三分钟白话RocketMQ系列—— 核心概念
  • 递归竖栏菜单简单思路
  • 组件化、跨平台…未来前端框架将如何演进?
  • vue 修改端口号
  • hive的metastore问题汇总
  • 【phaser微信抖音小游戏开发003】游戏状态state场景规划
  • 字符串性能优化
  • 从零开始理解Linux中断架构(23)中断运行临界区和占先调度
  • (3)Gymnasium--CartPole的测试基于DQN
  • 利用sklearn 实现线性回归、非线性回归
  • Java课题笔记~ MyBatis入门
  • Activity的自启动模式
  • 53数组的扩展
  • Rust调试【三】
  • uniApp 对接安卓平板刷卡器, 读取串口数据
  • Go new 与 make
  • centos系统离线安装k8s v1.23.9最后一个版本并部署服务,docker支持的最后一个版本
  • (学习笔记-内存管理)如何避免预读失效和缓存污染的问题?
  • 【arthas】入门与实战(一)
  • vim、awk、tail、grep的使用
  • vue拖拽改变宽度
  • 华为数通HCIA-ARP(地址解析协议)详细解析
  • 【Python机器学习】实验04(1) 多分类(基于逻辑回归)实践
  • 【ChatGLM_01】ChatGLM2-6B本地安装与部署(大语言模型)
  • 谷歌Tsunami(海啸)扫描器搭建扩展使用教程
  • 诚迈科技承办大同首届信息技术产业峰会,共话数字经济崭新未来
  • 【Python】Python使用TK实现动态爱心效果