Axios二次封装和Api的解耦
目录
一、axios三种基本写法
二、axios的二次封装
三、Api的解耦
一、axios三种基本写法


1)get方法(是最简单的):

写法二:

2)post:

3)axios请求配置
默认是get请求,如果是默认就不需要写method:,如果是post请求就要method声明。

二、axios的二次封装
1)二次封装的意义:有很多,最主要的是为了方便管理。另一方面,有时候我们项目中涉及权限问题,我们登陆时需要判断用户是否是登录状态,这种判断如果在某个页面单独做会很麻烦冗余,就可以放在封装内。
情景假设:有三个页面,每个页面都需要发送5次请求,如果在每个页面中单独写,就需要写15次,这时当后面地址由开发环境158.12.4之类换做发布环境http://shouyeh.cn之类时,改动太麻烦。而封装后只需要修改一次即可。
baseURL:相当于一个变量,如下图所示。

2)具体步骤:
第一步:在src中新建一个目录utils,然后在utils内新建一个request.js文件。


第二步,在request.js内进行配置。引入axios;创建axios对象;添加请求拦截器;添加响应拦截器。

第三步,在app.vue中,引入request。


注意:
第二步中比较重要的是,根据需要可以在请求拦截器判断是否在登录状态。

在响应拦截器中,看到后端给前端的返回数据。

三、Api的解耦
1)api解耦的意义:一是为了同一个接口可能多次使用,封装起来后直接调用就可以。
在实际项目中,可能会面临同一个接口在多个地方调用的情况,比如头部导航栏和下面分区导航链接所指的是同一个内容。就像美团可以在首页推荐直接点外卖,也可以进入外卖导航栏内点食物链接一样。
二是为了方便api请求统一管理。
2)具体步骤:
第一步,先在src文件夹下新建api文件夹。然后在api文件夹下新建.js文件,这些.js文件可以进行分类,比如某一个页面的放在一起。

第二步,在.js文件中,先引入request。接着将接口定义为函数,这样在页面中使用时只要写函数就可以了,不用再写url。
需要数据时直接在函数里写请求参数就可以,参考步骤三的图二。
注意,查询课程这个接口函数(data),有个data参数,是因为这个接口后端规定他必须有请求参数,而图中我们使用了ES6语法糖,在return中data:data,和图一这样写是一样的。


第三步,在app.vue页面使用接口。首先引入接口函数,然后直接引用封装的函数就可以了。


相关文章:
Axios二次封装和Api的解耦
目录 一、axios三种基本写法 二、axios的二次封装 三、Api的解耦 一、axios三种基本写法 1)get方法(是最简单的): 写法二: 2)post: 3)axios请求配置 默认是get请求,如…...
SpringAOP从入门到源码分析大全,学好AOP这一篇就够了(一)
文章目录系列文档索引一、认识AOP1、AOP的引入原因2、AOP常见使用场景日志场景统计场景安防场景性能场景3、AOP概念AOP 的概念Aspect 概念(切面)Join point 概念(连接点)Pointcut 概念(切入点)Advice 概念&…...
【单目标优化算法】樽海鞘群算法(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
手把手教你,解决C盘分区不足,C盘怎么扩大磁盘分区
由于在磁盘分区中,C盘是很重要的一个磁盘,为了保证C盘有足够的磁盘分区。其中扩大C盘分区很常见的操作之一。那么,C盘怎么扩大磁盘分区?在本文中,易我小编将全面地讲解C盘合并分区的方法。 一、为什么C盘怎么扩大磁盘分…...
Ethernet-APL——过程自动化的新黄金标准
| Ethernet-APL为终客户和设备制造商带来益处 Ethernet-APL(Advanced Physical Layer,高级物理层)是一种两线制以太网物理层,它使用了由IEEE 802.3cg所定义的10BASE-T1L,并采用了新的工艺制造规定,因此构成…...
LVGL Styles
LVGL StylesGet started按钮添加标签按钮添加风格滑动条值显示StylesSize stylesBackground stylesBorder stylesOutline stylesShadow stylesImage stylesArc stylesText stylesLine stylesGet started 按钮添加标签 /*** brief 按钮事件回调函数* param e */ void btn_eve…...
扬帆优配|联通港股创近两年新高!A股资源类股爆发,食品饮料领跌
今日上午,A股商场和港股商场均现较大起伏震动,临近上午收盘出现一波跳水,不过,到上午收盘,上证指数仍微涨0.10%,煤炭等资源类板块明显上涨。 港股商场上午走弱,科技股领跌。 沪指微涨0.10%资源…...
Win10+VS2019+Qt5.15.2下编译QCAD
一:官方说法:WindowsDownload and install a C compiler, for example:Visual Studio C Express or Visual Studio CommunityDownload and install Qt from qt.io (see supported platforms):Download for example the online installer fileqt-opensour…...
【微信小程序】原生微信小程序ts模板下引入vant weapp
之前一直是在普通项目下使用 vant weapp,这不最近学了ts,使用微信开发工具的tsless初始化项目,再引入 vant 时踩了好久坑,特来记录一下 前言 本文章适合微信开发工具的ts项目,指的是项目目录结构如下图 总结 从上图…...
Puppeteer之Pyppeteer——自动登录Gmail(6)
前言 本文是该专栏的第6篇,结合项目案例让你熟练使用pyppeteer,后面会持续分享Pyppeteer的干货知识,记得关注。 有同学留言,使用selenium自动登录gmail邮箱,被Google识别为机器人怎么办?出现这个问题,主要在于Google可以检测出selenium的控件,无论你怎么加入规避方法,…...
python 绘图 —— 绘制从顶部向底部显示的柱形图[ax.bar()]
python 绘图 —— 绘制从顶部向底部显示的柱形图[ax.bar()] 效果图如下所示: 就是这个样子,一般比较少见将柱形图从上往下绘制的。可能是会为了更好的展示数据对比结果吧。这里绘图的主要思路如下: 利用ax.twinx()这个函数生成一个新的x轴…...
自定义Task工具,调用系统的IdleHandler方法
1、工具类,调用系统的IdleHandler方法package com.abbi.viewdemo;import android.os.Looper;import android.os.MessageQueue;import java.util.LinkedList;import java.util.Queue;public class DelayTaskDispatcher {private Queue<Task> delayTasks new L…...
生态GEP案例分享
浙江省领导参观德清”两山“平台4月30日上午,浙江省政府参事室一行领导,在德清县副县长陪同下考察当地数据智能运营中心,参观了国内首个县域数字“两山”决策支持平台建设成果。国内生产总值(GDP),是指按国家市场价格计算的一个国…...
企业级信息系统开发学习笔记1.5 初探Spring AOP
文章目录零、本讲学习目标一、Spring AOP(一)AOP基本含义(二)AOP基本作用(三)AOP与OOP对比(四)AOP使用方式(五)AOP基本概念二、提出游吟诗人唱赞歌任务&#…...
Mysql数据库主主从设置
注意:在同一台服务器上部署主从或主主之类的时候,数据库data下有一个auto.cnf里的uuid不能重复。 原则:做同步之前要保证两个数据库数据一致. 锁表操作: FLUSH TABLES WITH READ LOCK; 注:没有锁定主服务器…...
监管持续,医疗卫生机构如何守好“涉疫”数据安全?
肆虐三年的新冠疫情,影响着全球经济发展、社会正常运行,也成为网络攻击、勒索软件攻击快速增长的温床,“滋生”了一系列网络、数据安全问题,受到各界关注。最近,上线运行三年的 “粤康码”发布公告、官宣部分服务下线&…...
STM32开发(13)----获取唯一设备标识符UID
获取唯一设备标识符UID前言一、什么事UID二、实验过程1.CubeMx配置2.代码实现3.实验结果总结前言 这一章节介绍如何获取STM32芯片中的唯一的ID号的两种方法。 一、什么事UID 在许多项目中,识别设备是必要的。从简单的设备描述到更复杂的设备,如 USB 串…...
华为OD机试 - 最优调度策略(Python) | 机试题+算法思路+考点+代码解析 【2023】
最优调度策略 题目 在通信系统中有一个常见的问题是对用户进行不同策略的调度 会得到不同系统消耗的性能 假设由 N 个待串行用户,每个用户可以使用 A/B/C 三种不同的调度策略 不同的策略会消耗不同的系统资源 请你根据如下规则进行用户调度 并返回总的消耗资源数 规则是:相…...
前端零基础入门-002-集成开发环境
本篇目标 了解市面上常用的前端集成开发环境(ide)掌握 HBuiberX 的使用:下载安装,新建项目、网页、运行网页。 内容摘要 本篇介绍了市面上流行的几款前端集成开发环境(ide),并介绍了 Hbuilde…...
su和sudo的区别
linux中 su和sudo的区别 su和sudo是两个常用的切换到root超级用户命令。功能上类似,但使用上还是有不少差异。 su命令 su是切换到root用户的命令,主要用法如下: su:不带参数直接输入su将切换到root用户,需要输入root…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
