一开始使用Vue时,我们用axios发送请求时一般会将api接口直接写在对应的请求方法中,这样当我们项目需要修改请求时我们就需要先去找到当前的组件,然后再找到对应的事件方法,最后才能将api修改,这样维护起来剧会变的很费时费力(特别是接口比较多的时候)。

//举个栗子this.$axios.post('http://127.0.0.1:8000/login/',{ username:this.uname, password:this.password,}).then(res=>{if(res.status==200){ Message.success('登陸成功') this.$router.push('/')}}).catch(error=>{ Message.error(error)})

随着适用了Vue,这时我们就会把api提取出来,用一个api.js文件来统一存放api接口,通过expot导出对应的接口,然后在用到的组件中引用该接口,这样当我们需要修改接口时只要到api文件中去统一处理即可,也方便我们了解项目中实现了哪些功能,目前这个项目是定义了一个baseURL,然后与接口进行拼接生成一个常量api,再将其导出给其他组件调用。

如果你的项目对axios进行了封装,那么我们这里还可以对api进一步优化,我们可以在封装的axios设置好基本路由,这样当我们拿到api后系统会为我们自动拼接路由,同时还可以统一的异常处理方案简化了每个请求书写,提高代码的可读性。如何封装axios可以参考文章 Vue实战037:axios二次封装和使用,

接下来我们继续优化api管理,继续拿我们的登陆接口来解析:http://127.0.0.1:8000/login/ ,这里可以分为4部分,分别是支持的协议(http协议),ip(127.0.0.1),端口(8000),路由(login/),假设每个api都是从同一台服务发出的,那么每个接口的协议、ip和端口都是一样的,这时我们就可以通过axios.defaults.baseURL = 'http://127.0.0.1:8000/'统一指定。

如何定义api模块

这里我们准备将axios.js引入api.js中,然后调用axios.js中的接口,接口需要提供3个参数,分别是method、url、params,这里可以用箭头函数,写起来简单。这样我们就定义了一个login方法,只需要传入method和params参数即可。

import api from '@/api/axios.js'export const login = (method, params) => api(method, 'login/', params)

如何使用

在组件中导入api中的方法,用到哪个导入哪个即可,然后再事件中调用我们的login方法,传入对应的method和params参数接口,是不是比之前简单又简洁了很多,封装还有 个好处就是可以很好的避开操作token,这样就不用在每个接口都手动的提交token操作了。

//引入组件中的方法import {login} from '@/api/api.js'//调用login方法,传入method和params即可login('post',{ username:this.uname, password:this.password,}).then(res=>{ if(res.status==200){ this.$message.success('登陸成功') this.$router.push('/') }}).catch(error=>{ this.$message.error(error)})

欢迎关注本人的公众号:编程手札,文章也会在公众号更新

axios请求接口http_Vue实战038:api接口模块化统一管理相关推荐

  1. vue请求拦截 给所有的api接口的请求 params 带上一个存储的值及qs的安装

    vue请求拦截 给所有的api接口的请求 params 带上一个存储的值: Vue.prototype.$http = axios; // 设置请求拦截器,为请求对象添加token,这是后续权限api ...

  2. (45.3)【API接口漏洞专题】API接口原理、请求方法、类型、安全校验方法

    目录 一.接口定义: 二.API接口原理: 三.接口请求方式(以http为例) 3.1.使用: 3.2.常见的: 3.3.全面的: 3.4.get型 3.4.1.使用: 3.4.2.应用: 3.4.3 ...

  3. 淘宝/天猫/1688拍立淘API接口(以图搜商品API接口,图片搜索API接口,图片搜索商品API接口)代码对接教程

    淘宝/天猫/1688拍立淘API接口(以图搜商品API接口,图片搜索API接口,图片搜索商品API接口)代码对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018 ...

  4. 阿里巴巴商品详情API接口(item_get-获得商品详情接口),阿里巴巴API接口

    阿里巴巴商品详情API接口(item_get-获得商品详情接口),阿里巴巴API接口可获取到商品链接,商品ID,商品标题,商品价格,品牌名称,店铺昵称,sku规格,sku属性,发货地,详情属性,店铺信 ...

  5. 唯品会关键字搜索商品API接口(item_search-按关键字搜索唯品会商品API接口),唯品会API接口

    一.唯品会关键字搜索商品API接口(item_search-按关键字搜索唯品会商品API接口),唯品会API接口接口可获取到宝贝标题,宝贝价格,宝贝ID,宝贝图片,优惠价,宝贝链接,卖家昵称,店铺所在 ...

  6. 京东推荐商品列表API接口-(item_recommend-获取推荐商品列表API接口),京东API接口

    一.京东推荐商品列表API接口-(item_recommend-获取推荐商品列表API接口),京东API接口代码对接如下: 1.请求参数: 名称 类型 必须 描述 key String 是 调用key ...

  7. 淘宝/天猫获取卖出的商品订单列表API接口,店铺订单API接口,店铺订单详情API接口

    一.淘宝/天猫获取卖出的商品订单列表API接口,店铺订单API接口,店铺订单详情API接口代码如下: 1.公共参数: 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接 ...

  8. 京东商品详情页API接口、京东商品销量API接口、京东商品列表API接口、京东APP详情API接口、京东详情API接口,京东SKU信息接口

    京东商品详情页API接口.京东商品销量API接口.京东商品列表API接口.京东APP详情API接口.京东详情API接口,京东SKU信息接口,通过商品ID提取商品详情页各项数据,包含商品标题,sku i ...

  9. 京东商品评论API接口-(item_review-获得JD商品评论API接口),京东API接口

    一.京东商品评论API接口-(item_review-获得JD商品评论API接口),京东API接口代码对接如下: 1.公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GE ...

最新文章

  1. TPAMI 2021 | 深度赋智AutoDL系列竞赛世界冠军方案首次公开
  2. ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
  3. java list子类_List集合的子类ArrayList、LinkedList、Vector
  4. GetLogicalDrives GetDriveType GetVolumeInformation和FindVolumeClose
  5. python利用列表计算斐波那契数列前30项_python斐波那契数列的计算方法
  6. ThinkPHP- 3.1
  7. [Java基础]标准输入输出流
  8. 1.Swift教程翻译系列——关于Swift
  9. java学习(68):局部内部类
  10. android 顶部标签切换,Android实现底部切换标签
  11. jpa 自定义sql if_跟飞哥学编程:SQL入门-:函数、存储过程和触发器
  12. 走进AngularJs(七) 过滤器(filter) - 吕大豹
  13. Security+ 学习笔记30 云计算构建模块
  14. tornado websocket
  15. oracle取消正在回滚的事务,Oracle11新特性——撤销事务(一)
  16. User-Agent的变迁——浏览器大战之前世今生
  17. 高斯消元法求解线性方程组
  18. golang中GDK和UTF8编码转换
  19. 非主流照片的PS教程!
  20. 利用OpenCV实现欧拉数的计算

热门文章

  1. vb mschart 坐标名称_最强干货来了:Grasshopper运算器名称总结(上篇)
  2. 02 | 服务治理:Nacos 如何实现微服务服务治理
  3. 【身份认证及权限控制一】单点登录
  4. 《移动项目实践》实验报告——Android Studio环境搭建
  5. JAVA——改变观感
  6. CG CTF WEB SQL Injection
  7. Ayoub and Lost Array
  8. java函数ao活动对象_JavaScript中的执行上下文和变量对象
  9. 添加icon_Ubuntu下为AppImage应用添加图标并添加到应用
  10. Android复习06【网络编程提高篇-安装GsonFormat、HttpUrlConnection封装、线程池、GsonFormat解析Json、自动加载下一页、自定义组件、页头页尾刷新、侧滑删除】