axios 的简单封装

1.首先引入 axios

import axios from 'axios'

2.创建一个实例

const api = axios.create({
    baseURL: '', // 所有请求的公共地址部分
    timeout:  3000 // 请求超时时间 这里的意思是当请求时间超过5秒还未取得结果时 提示用户请求超时
})

3.request拦截器

// 请求相关处理 请求拦截 在请求拦截中可以补充请求相关的配置
// interceptors axios的拦截器对象
api.interceptors.request.use(config => {
     // config 请求的所有信息
    // console.log(config);
    return config // 将配置完成的config对象返回出去 如果不返回 请求讲不会进行
}, err => {
    // 请求发生错误时的相关处理 抛出错误
   Promise.reject(err)
})

4.response拦截器

api.interceptors.response.use(res => {
    // 我们一般在这里处理,请求成功后的错误状态码 例如状态码是500,404,403
    // res 是所有相应的信息
    console.log(res)
   return Promise.resolve(res)
}, err => {
    // 服务器响应发生错误时的处理
    Promise.reject(err)
})

7.暴漏出去

export default api

封装接口

import api from '../index.js';

下面是简写的形式
// getXXX 自定义的接口名字
export const getXXX = (params) => api.get(`/apigb/v1/component`, { params})

export const postXXX = (params) => api.post(`/apigb/v1/component/update-info`, params)


// 下面是详细的写法
export const xxxx = (params) => api({
        url: '', // 请求地址
        method: 'post', // 请求方式
        // data: params, // (一般post请求,我们习惯使用 data属性来传参)
        params: params //(一般get请求,我们习惯使用params属性来传参)
        // 注意:data,和 params 两个属性传参使用,并不是固定的,也可以调换使用。
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Vue 折腾记 - 给axios做个挺靠谱的封装(报错,鉴权,跳转,拦截,提示) 借鉴引用 本篇文章给大家带来的内...
    MJ_e9a5阅读 1,980评论 0 16
  • 安装npm install --save axios vue-axios importaxiosfrom'axio...
    离陌Study阅读 404评论 0 1
  • 在前端项目中,和后台交互获取数据这块,我们通常使用的是axios库,axios是一个基于 promise 的HTT...
    夜闯寡妇门阅读 18,396评论 5 15
  • 虽然vue中axios的使用已经十分方便,但是实际我们的日常操作中可能为了接口的规则一致,来创建一个统一管理的全局...
    DLLCNX阅读 4,717评论 1 11
  • 对axios做一个简单的封装和实现的思路,主要实现: 统一捕获接口报错(拦截器) 基础验证 (auth) 下面是最...
    swensun阅读 3,475评论 0 1