iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue中Axios的封装与接口管理详解
  • 501
分享到

Vue中Axios的封装与接口管理详解

2024-04-02 19:04:59 501人浏览 薄情痞子
摘要

目录一、 AxiOS 的封装安装 Axios引入接口管理统一暴露接口在组件中使用补充:封装get方法和post方法总结一、 Axios 的封装 在 Vue 项目中,和后台进行数据交互

一、 Axios 的封装

Vue 项目中,和后台进行数据交互是频繁且不可或缺的,刚开始没进行 Axios 封装的时候,每次请求后台数据都是写的完整的路径,特别长,尤其是基准地址,每次都要复制一遍加在前面,冗余特别大。封装完 Axios 后,调用接口就简短多了,如果后期出现基准地址的改变,只需要在配置中更改一次即可。

安装 Axios

npm install axios

引入

我们先在 src 文件夹下创建一个 utils 文件,再在该文件夹下创一个 requery.js 文件

requery.js

import axios from 'axios'
axios.defaults.baseURL = "Http://...."  // 这里写接口基准地址
export default axios

接口管理

我们再在 src 文件夹下创建一个 api 文件,里面存放接口

我们把一个模块相关的接口封装在一个 .js 文件中,例如我现在创建一个信息管理模块的接口管理文件,取名为 messageManege.js

① 首先要在该文件中引入我们的 requery.js 文件

import request from '@/utils/requery'

② 封装方法为 post 的接口

//获取所有验收数据
export const getAllCheck = () => request({
    method:'post',
    url:"manager/selectAllCheckInfo"
})

③ 封装方法为 get 的接口

//获取所有延期数据
export const getAllDelay = () => request({
    url:"manager/selectAllPostponeInfo"
})

④ 封装参数要拼接在链接后面的接口

//验收状态处理
export const CheckHandle = (x1,x2) => {
    return request({
        method: 'post',
        url:`manager/check?status=${x1}&&id=${x2}`
    })
} 

⑤ 封装请求头为 "Content-Type": "application/JSON" 的接口

export const UpdateStage = data => {
    return request({
        method: 'post',
        url: 'stage/update',
        headers: {
            "Content-Type": "application/json",
        },
        data: data
    })
}

注意这里要传入的 data 要转换成 json 格式

统一暴露接口

在 src/api 的下面新建 index.js 文件用来统一暴露所有接口

import {
    getAllCheck,CheckHandle,getAllDelay,UpdateStage
} from './messageManage'
 
export const getAllCheckAPI = getAllCheck
 
export const CheckHandleAPI = CheckHandle
 
export const getAllDelayAPI = getAllDelay
 
export const UpdateStageAPI = UpdateStage

在组件中使用

① mounted() 中使用

  async mounted() {
    const res = await getAllCheckAPI();
    console.log(res.data)   // 打印返回的数据
  },

② 在普通方法中的使用

async StartProcess(s, i) {
      // 调用后端接口
      return CheckHandleAPI(s, i).then((res) => {
        if (res.status == 200) {
          this.$message.success("状态修改成功!");
        } else {
          this.$message.error("状态修改失败!");
        }
      });
},

这样 axios 的封装和使用就完成啦~

补充:封装get方法和post方法

我们常用的ajax请求方法有get、post、put等方法,相信小伙伴都不会陌生。axios对应的也有很多类似的方法,不清楚的可以看下文档。但是为了简化我们的代码,我们还是要对其进行一个简单的封装。下面我们主要封装两个方法:get和post。

get方法:我们通过定义一个get函数,get函数有两个参数,第一个参数表示我们要请求的url地址,第二个参数是我们要携带的请求参数。get函数返回一个promise对象,当axios其请求成功时resolve服务器返回 值,请求失败时reject错误值。最后通过export抛出get函数。


export function get(url, params){    
    return new Promise((resolve, reject) =>{        
        axios.get(url, {            
            params: params        
        }).then(res => {
            resolve(res.data);
        }).catch(err =>{
            reject(err.data)        
    })    
});}

post方法:原理同get基本一样,但是要注意的是,post方法必须要使用对提交从参数对象进行序列化的操作,所以这里我们通过node的qs模块来序列化我们的参数。这个很重要,如果没有序列化操作,后台是拿不到你提交的数据的。这就是文章开头我们import QS from 'qs';的原因。如果不明白序列化是什么意思的,就百度一下吧,答案一大堆。


export function post(url, params) {
    return new Promise((resolve, reject) => {
         axios.post(url, QS.stringify(params))
        .then(res => {
            resolve(res.data);
        })
        .catch(err =>{
            reject(err.data)
        })
    });
}

这里有个小细节说下,axios.get()方法和axios.post()在提交数据时参数的书写方式还是有区别的。区别就是,get的第二个参数是一个{},然后这个对象的params属性值是一个参数对象的。而post的第二个参数就是一个参数对象。两者略微的区别要留意哦!

总结

到此这篇关于Vue中Axios的封装与接口管理的文章就介绍到这了,更多相关Vue Axios封装与接口内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue中Axios的封装与接口管理详解

本文链接: https://www.lsjlt.com/news/144469.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue中Axios的封装与接口管理详解
    目录一、 Axios 的封装安装 Axios引入接口管理统一暴露接口在组件中使用补充:封装get方法和post方法总结一、 Axios 的封装 在 Vue 项目中,和后台进行数据交互...
    99+
    2024-04-02
  • vue中Axios的封装和API接口的管理示例详解
    目录一、axios的封装安装引入环境的切换设置请求超时post请求头的设置请求拦截响应的拦截封装get方法和post方法axios的封装基本就完成了,下面再简单说下api的统一管理。...
    99+
    2024-04-02
  • React项目中axios的封装与API接口的管理详解
    目录前言 安装 引入 环境的切换 请求拦截 响应拦截 api的统一管理 总结前言 在react项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的...
    99+
    2024-04-02
  • vue封装axios与api接口管理的完整步骤
    目录一、前言 二、axios封装步骤三、api接口统一管理总结一、前言  axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更...
    99+
    2024-04-02
  • 详解Vue中AXIOS的封装
    目录单独建一个network文件axios拦截器总结单独建一个network文件 建立一个network.js 创建 import axios from 'axios'; expor...
    99+
    2024-04-02
  • Vue中Axios的封装和API接口的管理方法是什么
    这篇文章主要讲解了“Vue中Axios的封装和API接口的管理方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中Axios的封装和API接口的...
    99+
    2024-04-02
  • 基于Typescript与Axios的接口请求管理详解
    目录思路请求拦截 响应拦截 使用httpClient.ts定义请求 在组件中请求接口 总结本文主要介绍基于TS和AXIOS的接口请求封装 思路 请求拦截 在请求头添加一些参...
    99+
    2024-04-02
  • vue如何封装axios插件和接口
    本文小编为大家详细介绍“vue如何封装axios插件和接口”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue如何封装axios插件和接口”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、安装和配置1.在项目根...
    99+
    2023-07-04
  • vue axios二次封装的详细解析
    axios的二次封装 视频讲解 npm i axios //下载axios 首先创建两个文件夹在src目录下;api和config 先在config文件夹下建立一个ind...
    99+
    2024-04-02
  • axios接口管理优化操作详解
    目录强化功能接口文件写法简化任务调度、Loading调度提示信息自由化总结强化功能 本文针对中大型的后台项目的接口模块优化,在不影响项目正常运行的前提下,增量更新。 接口文件写法简...
    99+
    2022-12-15
    axios 接口管理 axios 接口管理优化
  • Vue二次封装axios流程详解
    目录一、为什么要封装axios二、怎么封装axios三、具体步骤vue项目的前期配置配置config文件中的代理地址封装axios实例-request.js四、封装请求-http.j...
    99+
    2022-11-13
    Vue封装axios Vue axios
  • JavaScript axios安装与封装案例详解
    1.下载axios插件 cnpm install axios -S 2.在main.js引入axios import axios from 'axios' Vue.prot...
    99+
    2024-04-02
  • Vue封装axios的示例讲解
    1、axios:是一个基于Promise的网络请求库。既可以在node.js(服务器端)使用,也可以在浏览器端使用 (1)在node.js中使用的原生的http模块 (2)在浏览器中...
    99+
    2023-01-10
    Vue axios Vue封装axios
  • Vue项目API接口封装的超详细解答
    目录前言一、axios是什么?二、API接口封装步骤1.创建拦截器(Interceptor.js)2.创建存放API的文件(http.js)3.使用方法总结前言 我们在开发的过程中,...
    99+
    2024-04-02
  • Vue项目中如何封装axios(统一管理http请求)
    1、需求说明 在使用Vue.js框架开发前端项目时,会经常发送ajax请求服务端接口,在开发过程中,需要对axios进一步封装,方便在项目中的使用。 2、Vue项目结构 在本地创...
    99+
    2024-04-02
  • JavaScript封装axios的实现详解
    目录摘要1.post方法2.create方法3.拦截器4.代码摘要 在vue中,我们调用接口使用的都是axios,使用之前我们也会进行一定的封装,然后再进行使用。 在这里,我们主要说...
    99+
    2024-04-02
  • 前端(二十七)——封装指南:Axios接口、常用功能、Vue和React中的封装技术
    😊博主:小猫娃来啦 😊文章核心:前端封装指南:Axios接口、常用功能、Vue和React中的封装技术 本文目录 小引前端封装以真实项目举个例子 Axios接口封装常用功能封装封装 Vue中...
    99+
    2023-12-23
    前端 vue.js react.js javascript 开发语言
  • Vue + Axios 请求接口方法与传参方式详解
    目录一、Get请求:二、Post请求:三、拓展补充使用Vue的脚手架搭建的前端项目,通常都使用Axios封装的接口请求,项目中引入的方式不做多介绍,本文主要介绍接口调用与不同形式的传...
    99+
    2024-04-02
  • Vue项目中封装axios的方法
    目录一、axios是什么特性基本使用二、为什么要封装三、如何封装设置接口请求前缀设置请求头与超时时间封装请求方法请求拦截器响应拦截器小结参考文献一、axios是什么 axios 是...
    99+
    2024-04-02
  • vue项目中axios的封装请求
    目录一、简介二、封装后1.封装步骤2.封装目标3. 使用新的 axios 封装API4.使用封装后的axios一、简介 axios 是一个轻量的HTTP客户端,它基于 XMLHttp...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作