全面解析 Axios 请求库的基本使用方法

Axios 是一个流行的基于 Promise 的 HTTP 请求库,用于在浏览器和 Node.js 中进行 HTTP 请求。它提供了简单易用的 API,可以发送各种类型的请求(如 GET、POST、PUT、DELETE等),并处理响应数据,Axios 在前端工程化项目中有 99% 的概率会被优先选择。下面通过一个实践案例来了解它的基本使用——编写接口并调用 Apifox 生成的 Mock 数据。

安装 Axios

要安装 Axios,首先需要确保本地已安装 Node.js 环境,然后选择执行如下其中一条命令:

使用 npm:

安装 Axios

要安装 Axios,首先需要确保本地已安装 Node.js 环境,然后选择执行如下其中一条命令:

使用 npm:

npm install axios

使用 yarn:

yarn add axios

使用 pnpm:

pnpm install axios

以上命令用的是局部安装(即安装到项目目录中的node_modules文件夹下)。这是推荐的方式,因为它将 Axios的依赖项与项目的其他依赖项隔离开来,确保每个项目都可以有自己的版本控制和管理。如果您想在全局范围内安装 Axios,可以使用-g--global选项:

pnpm install -g axios

安装完成后,你可以新建一个以 .js 后缀结尾的文件,该文件用来发起 Http 请求,基本结构如下图所示:

接口 Mock

为了更方便接口的测试,这里使用 Apifox 的示例项目里提供的 Mock 数据。你可以访问 Apifox 的官网,下载后新建一个项目,即可进行调用。

发起请求

在发起请求之前,要先导入 Axios 库,然后根据需要,也可以定义一个全局的URL地址,详情如下:

const $http = require("axios");/*baseUrl: 即请求路径,该路径可在 Apifox 的云端 Mock 查看
*/
const baseUrl = "https://mock.apifox.cn/......";

GET 请求

一个 get 请求示例如下:

// get
$http.get(`${baseUrl}/pet/1`).then((res) => {console.log(res.data);
});

响应示例如下:

POST 请求

一个 post 请求示例如下:

// post
$http.post(`${baseUrl}/pet`, {name: "太酷啦",status: "sold",}).then((res) => {console.log(res.data);});

PUT 请求

一个 put 请求示例如下:

// put
$http.put(`${baseUrl}/pet`, {name: "test",}).then((res) => {console.log(res.data);});

DELETE 请求

一个 delete 请求示例如下:

$http.delete(`${baseUrl}/pet/2`) // 删除id为2的数据.then(function (res) {console.log(res.data);});

总结

以上介绍了 Axios 的基本使用,在前端工程化项目中,它经常会被单独封装,以方便前端开发人员的调用,要进一步学习可访问 Axios 的官网。另外,在后端人员还没开发好接口时,通常会使用 Mock 数据来测试业务,Apifox 提供的高级 Mock 功能很好的解决了这个需求,极大地方便了后续工作的开展。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/746898.shtml

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

相关文章

MySQL常见的数据类型

一、数值型 5 种整型 tinyint、smallint、mediumint、int 和 bigint,主要区别就是取值范围不同,还可以在类型前添加一个 限制词 unsigned,不允许添加负数。 3 种浮点型:不能精确存放 float 和 double,可以精确存放 de…

朋友,代码库的“健身方案”要不要了解一下?

你有没有想过,你的代码库可能正面临“健康危机”—— 代码臃肿、低效交付、BUG隐藏、潜藏的安全风险…… “健身达人”上线 如果你的开发、安全和运维团队像是三位“健身达人”,那么极狐GitLab的DevSecOps线上成熟度评估,就是他们的“健身教…

09、用数据变量等控制 vue 项目标签中 CSS 样式的五种方法

通过 vue 中的变量值控制标签/组件样式 Ⅰ、通过 Vue3 的数据变量来控制 h1 标签样式:1、代码为:2、截图为: Ⅱ、通过 vue3 的 computed 来控制 h1 标签样式:1、代码为:2、截图为: Ⅲ、通过 vue3 的 comput…

MySQL gh-ost DDL 变更工具

文章目录 1. MDL 锁介绍2. 变更工具3. gh-ost 原理解析4. 安装部署5. 操作演示5.1. 重点参数介绍5.2. 执行变更5.3. 动态控制 6. 风险提示 1. MDL 锁介绍 MySQL 的锁可以分为四类:MDL 锁、表锁、行锁、GAP 锁,其中除了 MDL 锁是在 Server 层加的之外&am…

SpringBoot vue轮胎批发系统

SpringBoot vue轮胎批发系统 系统功能 首页 图片轮播 轮胎商品 评论 公告信息 搜索 购物车 立即购买 客服中心 登录注册 个人中心 我的订单 我的地址 我的收藏 后台管理 登录 个人中心 用户管理 轮胎分类管理 轮胎商品管理 公告信息管理 客服中心管理 轮播图管理 订单管理 …

Linux--基本知识入门

一.几个基本知识 终端: CtrlAltT 或者桌面/文件夹右键,打开终端切换为管理员: sudo su 退出:exit查看内核版本号: uname -a内核版本号含义: 5 代表主版本号;13代表次版本号;0代表修订版本号;30代表修订版本的第几次微调;数字越大表示内核越新. 二.目录…

Canny详解

Canny 边缘检测是一种经典的图像处理技术,被广泛应用于计算机视觉和图像处理领域。它由 John F. Canny 在 1986 年提出,是一种多阶段的边缘检测算法,具有高精度和低错误率的特点。 Canny 边缘检测的步骤: 高斯滤波(Ga…

FreeRTOS学习第10篇--队列使用示例

FreeRTOS学习第10篇–队列使用示例 本文目标:FreeRTOS学习第10篇–队列使用示例 按照本文的描述,可以进行简单的使用队列。 本文实验条件:拥有C语言基础,装有编译和集成的开发环境,比如:Keil uVision5 …

【Java 并发】AbstractQueuedSynchronizer

1 AQS 简介 在同步组件的实现中, AQS 是核心部分, 同步组件的实现者通过使用 AQS 提供的模板方法实现同步组件语义。 AQS 则实现了对同步状态的管理, 以及对阻塞线程进行排队, 等待通知等一些底层的实现处理。 AQS 的核心也包括了这些方面: 同步队列, 独占式锁的获取和释放, 共…

手写vue将虚拟 Dom 转化为真实 Dom

vue将虚拟 Dom 转化为真实 Dom {tag: DIV,attrs:{id:app},children: [{tag: SPAN,children: [{ tag: A, children: [] }]},{tag: SPAN,children: [{ tag: A, children: [] },{ tag: A, children: [] }]}] }把上面虚拟Dom转化成下方真实Dom<div id"app"><sp…

做一个微信小程序需要什么条件?

在移动互联网时代&#xff0c;微信小程序已成为连接用户与服务的重要桥梁。它们无需下载安装&#xff0c;使用方便&#xff0c;功能强大&#xff0c;成为商家和开发者的新宠。如果你想要开发一个微信小程序&#xff0c;需要满足哪些条件&#xff1f; 一、开发小程序的基本条件…

Redis 持久化-RDB

RDB&#xff08;Redis DataBase&#xff09;&#xff0c;在指定的时间间隔内将内存中的数据集快照写入磁盘&#xff0c;也就是行话讲的Snapshot快照&#xff0c;它恢复时是将快照文件直接读到内存里。 Redis会单独创建&#xff08;fork&#xff09;一个子进程来进行持久化&…

用网格大师网络重划分时,坐标原点按照XML文件原点填写,导出的瓦块文件命名不对,坐标原点该怎么填写

瓦块名称和原来不一致的原因是瓦块原点这里设置的不对&#xff0c;要和重建设置的瓦块原点保持一致。 网格大师是一款能够解决实景三维模型空间参考、原点、瓦块大小不统一&#xff0c;重叠区域处理问题的工具“百宝箱”&#xff0c;集格式转换、坐标转换、轻量化、瓦片重划分…

ModStartBlog v9.1.0 桌面快捷应用,图片上传前端压缩

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用&#xff0c;支持后台一键快速安装&#xff0c;让开发者能快的实现业务功能开发。 系统完全开源&#xff0c;基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场&#xff0c;后台一键快速安装 …

跨境电商流通无阻:API接口在简化全球电商流程中的关键角色

在全球化的经济中&#xff0c;跨境电商已成为许多电商平台的重要增长点。然而&#xff0c;跨国交易涉及复杂的流程和合规性要求&#xff0c;这些都可能成为商家扩张全球市场的障碍。API&#xff08;应用程序编程接口&#xff09;在这里扮演了关键角色&#xff0c;它简化了全球电…

淘宝商品销量数据接口,淘宝API接口

淘宝商品销量数据接口是淘宝开放平台提供的一种API接口&#xff0c;通过该接口&#xff0c;商家可以获取到淘宝平台上的商品销量数据。 淘宝商品销量数据接口可以用于获取特定商品的销量数据、特定店铺的销量数据、特定类目的销量数据等。商家可以根据自己的需求来调用该接口&…

控制学习_正弦波无刷直流力矩电机建模、控制带宽讨论与选择

无刷电机通过电子换向器实现定子的磁场旋转&#xff0c;去电刷后使用寿命大幅提升&#xff0c;是现在更流行的选择。三相无刷电机则是无刷电机中比较流行的一款。三相无刷电机的驱动方式有多种&#xff0c;最简单的被称为梯形波驱动、方波驱动或正弦波驱动。而正弦波驱动技术可…

前端路由跳转bug

路由后面拼接了id的千万不能取相近的名字&#xff0c;浏览器分辩不出&#xff0c;只会匹配前面的路径 浏览器自动跳转到上面的路径页面&#xff0c;即使在菜单管理里面配置了正确的路由 跳转了无数次&#xff0c;页面始终不对&#xff0c;检查了路由配置&#xff0c;没有任何问…

java枚举与模拟方法

枚举 枚举的定义 枚举算法&#xff08;穷举算法&#xff09;&#xff0c;这种算法就是在解决实际问题的时候去使用所有的方式去解决这个问题&#xff0c;会通过推理去考虑事件发生的每一种可能性&#xff0c;最后推导出结果 优点 简单粗暴&#xff0c;他暴力的枚举所有可能&…

3.14号arm

1. 计算机基础理论 1.1 计算机的组成 输入设备&#xff1a;将数据转换成计算机可以识别&#xff0c;存储&#xff0c;处理的形式&#xff0c;发送到计算机中 输出设备&#xff1a;将计算机对程序和数据的运算结果输送到外部的设备 存储器&#xff1a;用于将数据保存的模块。 …