首页 > 其他分享 >从零开始用 Axios 请求后端接口

从零开始用 Axios 请求后端接口

时间:2023-12-20 20:35:16浏览次数:44  
标签:axios Axios resource 请求 Vue 从零开始 接口 封装

对于前端同学来说,请求后端接口是一个非常通用的东西。在十几年前的时候,我们还用 Ajax 去请求后端接口。但在 2023 年的今天,很多框架都很成熟了,我们有了更加快捷的方式 —— Axios 框架。

请求框架哪家强?

对于使用 Vue 技术栈的同学来说,其实接口请求框架就三种:vue-resource、Axios、fetch。对于 vue-resource 和 Axios 来说,它们都是用于在 vue.js 应用中进行 HTTP 请求的工具,但它们有一些区别,下面是一些主要的区别和如何选择的考虑因素:

  1. 维护状态:

    • Vue-resource: Vue-resource 是由 Vue.js 团队开发和维护的,但在Vue 2.0版本后,官方不再推荐使用 Vue-resource,而是推荐使用 Axios 或原生的 fetch。
    • Axios: Axios 是一个独立的第三方库,由一个开发者维护,它在Vue社区和其他前端框架中都广受欢迎。
  2. 功能和特性:

    • Vue-resource: Vue-resource 提供了一些与Vue.js集成的特性,如拦截器、Vue组件的资源请求和响应处理等。然而,它的功能相对较少,可能在处理复杂的HTTP场景时不够灵活。
    • Axios: Axios 提供了更丰富的功能,支持拦截器、并发请求、取消请求、全局默认配置等特性。它也更灵活,可以轻松地与各种前端框架和工具集成。
  3. API 设计:

    • Vue-resource: Vue-resource 的API设计比较简单,适合小型项目或初学者使用。
    • Axios: Axios 的API设计更为灵活,对于复杂的HTTP请求场景提供了更多的选项和配置,适用于大型和复杂的前端项目。
  4. 支持度:

    • Vue-resource: 在Vue 2.0版本后,官方不再推荐使用 Vue-resource,因此未来可能不会有太多更新和维护。
    • Axios: Axios 是一个独立的、活跃维护的项目,得到了广泛的支持,有更多社区贡献和更新。

基于以上考虑,一般而言,推荐使用 Axios,因为它更灵活、功能更强大,并且得到了更广泛的社区支持。 如果你的项目已经在使用 Vue-resource,可能需要考虑迁移到 Axios 或其他更为主流的HTTP库。如果项目较小或是初学者,Vue-resource 也可以满足基本需求。

快速入门

使用 Axios 非常简单,首先需要运行如下代码来安装 Axios 依赖。

npm install axios

随后,我们就可以直接使用 Axios 了,如下代码所示。

import axios from "axios";

axios
  .get("/api/data/winTogether/service")
  .then(response => {
    console.log("request..");
    this.service = response.data.service;
  })
  .catch(error => {
    console.log("fail....");
  });

如上代码所示,直接引入 axios,随后使用 axios 对象的 get 方法便可发起一个请求。

搭配 Mock.js

很多时候,我们没有对应的后台接口,这时候我们需要自己 Mock 数据,那么我们可以使用 Mock.js 来模拟返回数据。

使用 Mock.js 也很简单,首先安装对应的依赖。

npm install mockjs

随后,我们引入 Mock 对象,并使用 mock() 方法便可模拟返回特定数据,如下代码所示。

import Mock from "mockjs";
// 注意这里的 url 需要与请求的接口保持一致
Mock.mock("/api/data/winTogether/service", {
  service: [
    {
      subtitle: "xxxx网格站加盟",
      desc: "通过自有或租赁的仓库进行分拣商品"
    }
  ]
});

二次封装

当你调用接口比较多的时候,你会发觉 Axios 的使用很繁琐,有很多重复的操作。这时候,我们可以对 Axios 进行二次封装,从而来提高我们的开发效率。关于 Axios 的二次开发,网上有很多资料,我自己也找了一些比较不错的,感兴趣的可以看看参考资料部分。

参考资料

标签:axios,Axios,resource,请求,Vue,从零开始,接口,封装
From: https://www.cnblogs.com/chanshuyi/p/head-first-of-axios.html

相关文章

  • EasyCVR平台如何通过api接口设置实时流的sei数据实现画框等操作?
    为了便于用户自由调用、集成与二次开发,EasyCVR平台也提供了丰富的API接口供大家使用。今天我们来分享一下如何通过API接口设置实时流的SEI数据,实现在视频播放器中展示文本内容、画框等操作?1)后端接口调用如下:接口URL:POSThttp://127.0.0.1:18000/api/v1/sei/set2)接口参数如下:3)调用成......
  • Apipost:一键生成接口文档
    你是否经常遇到接口开发过程中的各种问题?或许你曾为接口测试与调试的繁琐流程而烦恼。不要担心!今天我将向大家介绍一款功能强大、易于上手的接口测试工具——Apipost,并带你深入了解如何玩转它,轻松实现接口测试与调试。什么是Apipost?Apipost是一款API全生命周期管理平台,它提供了一系......
  • Apipost:一键生成接口文档
    你是否经常遇到接口开发过程中的各种问题?或许你曾为接口测试与调试的繁琐流程而烦恼。不要担心!今天我将向大家介绍一款功能强大、易于上手的接口测试工具——Apipost,并带你深入了解如何玩转它,轻松实现接口测试与调试。什么是Apipost?Apipost是一款API全生命周期管理平台,它提供了......
  • 安防监控EasyCVR平台如何通过api接口设置实时流的sei数据实现画框等操作?
    国标GB28181视频监控系统EasyCVR平台采用了开放式的网络结构,支持高清视频的接入和传输、分发,能提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,此外,高清可视化视频监控平台EasyCVR还具......
  • 接口自动化之excel读写封装
    本次封装基于openpyxl进行的二次封装安装openpyxlpipinstallopenpyxl封装ExcelReader采用yield的方式返回数据,减少内存的占用classExcelReader:def__init__(self,filename):self._excel:Workbook=load_workbook(filename,read_only=True)d......
  • 接口自动化之响应数据封装
    在使用requests实现接口自动化时,接口响应的数据没有代码提示,要获取某个接口字段就需要通过[xxx]的方式来获取,实际开发过程中希望能通过.的方式来获取到某个接口响应属性。方式一、使用dataclassdataclass是python3.7新推出的特性之一fromdataclassesimportdataclass@......
  • vue项目多axios实例动态创建
    //通用请求拦截器importaxiosfrom"axios";importQsfrom"qs";importstorefrom"@/store";importrouterfrom"@/router";import{Loading,Message}from"element-ui";//引用element-ui的加载和消息提示组件letloading......
  • API 接口设计最佳实践
    前言 最近团队内部在做故障复盘的时候发现有很多故障都是因为接口设计不当导致的,这里我就整理归纳一下在接口设计层面需要注意的地方。API接口设计Token设计 Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此To......
  • 从零开始构建报警中心:part08 数据库链接与验证
    处理了model与schema就可以进行数据的实际操作了。flask应用可以通过flask-sqlachemy进行ORM操作。APP与数据库绑定定义flask应用,对该应用进行配置,绑定数据库链接信息,并初始化DB,相关代码如下app.py这是整个系统的入口,后续将添加登入登出(flask-login),SSO接入,蓝图,以及API接入fromfla......
  • 给网站引入各大搜索引擎的关键字提示,白给的接口薅他羊毛。
    拥有一个关键词提示属于是导航网站必要的了因为网站是个导航网站,有一个搜索框,用户搜索时需要像百度一样有个搜索提示关键词列表。之前只是用百度,现在给增加了好几个,想换那个就换那个了,直接上图片可以配置属于是想选哪个选哪个,谁提示不爽就不用它,我可以用着bing的搜索引擎却使用......