vite学习教程04、vue集成axios封装request工具类及应用

文章目录

前言

博主介绍:✌目前全网粉丝3W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。

涵盖技术内容:Java后端、大数据、算法、分布式微服务、中间件、前端、运维等。

博主所有博客文件目录索引:博客目录索引(持续更新)

视频平台:b站-Coder长路


1、安装axios

shell 复制代码
npm install axios

2、封装request工具类

在src目录下创建请求脚本文件:request.js

js 复制代码
import axios from 'axios'

const service = axios.create({
  baseURL: import.meta.env.VITE_API_URL,
  timeout: 5000
})

// request 拦截器
service.interceptors.request.use(
  config => {
    // 在这里可以设置请求头、请求参数等return config
    return config
  },
  error => {
    console.log(error)
    return Promise.reject(error)
  }
)

// response 拦截器
service.interceptors.response.use(
  response => {
    // 在这里处理返回数据const { data } = response
    if (response.data.code !== 200) {
      console.error('Error:', data.message)
      return Promise.reject(newError(data.message || 'Error'))
    } else {
      return response.data
    }
  },
  error => {
    console.log(error)
    return Promise.reject(error)
  }
)
export default service;import axios from 'axios'

const service = axios.create({
  baseURL: import.meta.env.VITE_API_URL,
  timeout: 5000
})

// request 拦截器
service.interceptors.request.use(
  config => {
    // 在这里可以设置请求头、请求参数等return config
    return config
  },
  error => {
    console.log(error)
    return Promise.reject(error)
  }
)

// response 拦截器
service.interceptors.response.use(
  response => {
    // 在这里处理返回数据const { data } = response
    if (response.data.code !== 200) {
      console.error('Error:', data.message)
      return Promise.reject(newError(data.message || 'Error'))
    } else {
      return response.data
    }
  },
  error => {
    console.log(error)
    return Promise.reject(error)
  }
)
export default service;

3、封装api请求工具

不同的请求方式直接修改method即可:get、post、delete

js 复制代码
import request from '@/utils/request'

// 查询团队成员
export function queryTeamMembers() {
    return request({
        url: '/api/open/user/teamMembers',
        method: 'get'
    })
}

4、实战:vue中使用api请求工具类

js 复制代码
import { queryTeamMembers } from '@/api/openSiteApi'

created() {
  queryTeamMembers().then((data)=>{
      console.log(data)
  }).catch(err=>console.log(err))
}

构建运行下,成功访问请求:


资料获取

大家点赞、收藏、关注、评论啦~

精彩专栏推荐订阅:在下方专栏👇🏻

更多博客与资料可查看👇🏻获取联系方式👇🏻,🍅文末获取开发资源及更多资源博客获取🍅

相关推荐
codingandsleeping11 分钟前
一个简易版无缝轮播图的实现思路
前端·javascript·css
小斌的Debug日记32 分钟前
SpringBoot和微服务学习记录Day3
spring boot·学习·微服务
路有瑶台1 小时前
EXCEL学习
学习·excel
计算机视觉与OpenCV1 小时前
自动驾驶与机器人算法学习
学习·机器人·自动驾驶
筱小虾米1 小时前
Dify忘记管理员密码,重置的问题
人工智能·学习·dify
FAREWELL000751 小时前
C#进阶学习(九)委托的介绍
开发语言·学习·c#·委托
拉不动的猪1 小时前
简单回顾下插槽透传
前端·javascript·面试
爱吃鱼的锅包肉2 小时前
Flutter路由模块化管理方案
前端·javascript·flutter
我的代码永没有bug2 小时前
day1-小白学习JAVA---JDK安装和环境变量配置(mac版)
java·学习·macos
风清扬雨2 小时前
Vue3具名插槽用法全解——从零到一的详细指南
前端·javascript·vue.js