vue3 axios接口封装

news2024/11/16 7:25:51

 

在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.coloradmin.cn/o/814961.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#winform颜色、字体对话框控件使用实例

本文讲解C#winform颜色、字体对话框控件的使用 创建winform项目,添加按钮 代码如下: using System; using System.Drawing; using System.Windows.Forms;namespace ColorDialogDemo {public partial class Form1 : Form{public Form1(){InitializeComponent();}//颜色对话框…

移动硬盘不显示怎么办?正确解决方式看这里!

移动硬盘为存储带来了很大的方便&#xff0c;在对数据存储时&#xff0c;可做到即插即用&#xff0c;且其体积小、容量大&#xff0c;且比较安全可靠。但在实际的使用中&#xff0c;也会出现各种问题。请看下面2个常见案例。 案例1&#xff1a;“各位朋友&#xff0c;我新买了一…

史上最全免费在线 PDF 格式转换网站集合,10款利器赶紧收藏

hi&#xff0c;大家好我是技术苟&#xff0c;每天晚上22点准时上线为你带来实用黑科技&#xff01;由于公众号改版&#xff0c;现在的公众号消息已经不再按照时间顺序排送了。因此小伙伴们就很容易错过精彩内容。喜欢黑科技的小伙伴&#xff0c;可以将黑科技百科公众号设为标星…

hive函数大全

hive函数大全 一级目录!!%&*-/<<<><>>>^absacosadd_monthsandarrayarray_containsasciiasinassert_trueatanavgbase64betweenbinbroundcasecbrtceilceilingchrcoalescecollect_listcollect_setconcatconcat_wscontext_ngramsconvcorrcoscountcovar…

Unity老虎机效果实现

实现效果如下&#xff1a; 实现效果为&#xff1a;外部传入数值&#xff0c;正常显示 老虎机抽取效果 用户可自定义行为&#xff1a;1&#xff0c;抽取的显示&#xff1b;2&#xff0c;抽取的最低时间 实现代码如下&#xff0c;可自行改写&#xff1a; using System.Collect…

Moebius数据库多活集群

背景 数据库是信息化的基石&#xff0c;支撑着整个业务系统&#xff0c;发挥着非常重要的作用&#xff0c;被喻为“IT的心脏”。因此&#xff0c;让数据库安全、稳定、高效地运行已经成为IT管理者必须要面对的问题。数据库在底层架构层面需要满足以下几点建设要求&#xff1a; …

虚拟机安装的问题

CentOS7报错: Host SMBus Controller not enabled! 1.在上图界面中直接输入root用户的密码登录到系统 2.输入命令&#xff0c;lsmod | grep i2c 3.输入命令&#xff0c;vi /etc/modprobe.d/blacklist.conf 创建黑名单&#xff0c;添加以下内容&#xff1a; blacklist i2c_piix…

851. 喧闹和富有;1765. 地图中的最高点;1171. 从链表中删去总和值为零的连续节点

851. 喧闹和富有 核心思想&#xff1a;这题的题意是找到比b有钱的人且这个人是最安静的人。简单的想法就是找出统计出所有b的有钱人&#xff0c;然后给有钱人的安静值排个序即可。给安静值排序这个我们可以进行优化一下&#xff0c;按照常规思路&#xff0c;我们统计出a的儿子…

Day02-作业(JavaScriptVue)

作业1&#xff1a;实现5秒之后&#xff0c;当前页面直接跳转到官网首页&#xff08;首页地址&#xff1a;https://www.itcast.cn&#xff09; 提示&#xff1a; 5秒之后&#xff0c;才触发某一个动作 素材&#xff1a; <!DOCTYPE html> <html lang"en"&…

【二叉树进阶】搜索二叉树的性能分析及其应用

文章目录 前言1. 二叉搜索树的性能分析2. 二叉搜索树的应用2.1 K模型2.2 KV模型英汉互译统计次数 3. 源码展示3.1 KV结构改造3.2 测试 前言 上一篇文章我们学习了搜索二叉树的实现&#xff0c;这篇文章我们来对搜索二叉树进行一个性能分析&#xff0c;并来讲解一下它的应用。 1…

OpenCV4.3 Java 编程入门:透明度与抠图

1. 基础知识 JPG 格式图片有损压缩和不支持半透明&#xff0c;如果想在图片上添加透明通道&#xff0c;一定不要用 JPG 格式的图片&#xff1b;PNG&#xff1a;既支持3通道RGB图像&#xff0c;也支持4通道RGBA图像&#xff08;红色、绿色、蓝色和透明度&#xff09;&#xff1…

一篇文章帮你弄懂邻接矩阵,邻接表和链式前向星的区别

前言&#xff1a; 在学C的时候&#xff0c;面对各种各样的存图方式&#xff0c;脑子都大了不少&#xff0c;各种算法还在向我冲来&#xff0c;结果一个邻接矩阵/邻接表/链表轻松给了我一下暴击就直接让我KO了&#xff0c;趁着脑子还算清楚&#xff0c;详细的介绍下这三种存图方…

探索工程机械远程控制新纪元:Intewell-Hyper II震撼发布!

在当前的工程技术领域&#xff0c;远程控制技术以其卓越的效率和方便性&#xff0c;正受到越来越多的关注和运用。而在这个过程中&#xff0c;某机械集团以Intewell-HyperII操作系统为基础&#xff0c;打造出了具有前瞻性的工程机械远程控制器&#xff0c;为行业的发展提供了新…

树莓派-搭建wireguard服务

一、简介 官网&#xff1a;https://www.wireguard.com/ WireGuard is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headac…

SpringBoot原理分析 | 安全框架:Shiro

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Shiro Shiro是一个安全框架&#xff0c;用于认证、授权和管理应用程序的安全性。它提供了一组易于使用的API和工具&#xff0c;可以帮助您轻松地添加安全性到您的应用…

apple pencil到底值不值得买?好用的iPad电容笔

随着ipad平板型号版本的不断更新&#xff0c;其的功能越来越多&#xff0c;现在它的性能已经可以和笔记本电脑相媲美了。而现在&#xff0c;随着技术的进步&#xff0c;IPAD已经不再是单纯的娱乐&#xff0c;而是一种功能强大的学习、绘画、工作等等。要增加生产效率&#xff0…

按键消抖(有/无状态机)

一&#xff0c;理论概念 按键抖动 按键抖动&#xff1a;按键抖动通常的按键所用开关为机械弹性开关&#xff0c;当机械触点断开、闭合时&#xff0c;由于机械触点的弹性作用&#xff0c;一个按键开关在闭合时不会马上稳定地接通&#xff0c;在断开时也不会一下子断开。因而在闭…

<MyBatis>MyBatis把空字符串转换成了0的问题处理方案

先看问题: Postman入参: MyBatis采用map循环插入: // Mapper接口层void addPar(Param(value "question") Map<String, Object> paramMap);<!-- 新增&#xff1a;参数 --><insert id"addPar" parameterType"map">INSERT IGNO…

高忆管理:集合竞价可以卖股票吗?

集合竞价是证券买卖所开盘前的一种买卖方式&#xff0c;其意图是为了在买卖所开盘之前构成有用的商场价格。因为商场处于初始状况&#xff0c;买卖量较小&#xff0c;因而集合竞价价格或许与买卖日中的实践买卖价格有所不同。那么&#xff0c;集合竞价是否能够卖股票呢&#xf…

Python3,1行代码,批量把图片转换成PDF文档,女神终于同意跟我吃夜宵了。

批量图片转换成PDF文档 1、引言2、代码示例2.1 安装2.2 单张转换2.3 批量转换 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c; 求助&#xff0c;求助。 小鱼&#xff1a;有啥事&#xff0c;这大惊小怪的。 小屌丝&#xff1a;我女神跟我说&#xff0c; 如果我把她的照片…