vue配置axios

axios 是一个基于 Promise 的 HTTP 客户端,适用于浏览器和 node.js 环境。它提供了易于使用的 API 来发送异步 HTTP 请求到 REST 端点并处理响应。axios 因其简洁的 API 和广泛的浏览器兼容性而广受欢迎。

步骤一:

下载axios

在打开vue项目的编辑器 中打开终端 ,或者在cmd窗口 进入到项目目录

用你的包管理器安装axios,例如使用npm包管理器

复制代码
npm i axios

步骤二:

统一接口配置

进行封装axios,需要建一个专门封装axios的工具文件(js)例如:

javascript 复制代码
//axios基础封装
import axios from "axios";
import { ElMessage } from "element-plus";
//创建一个可以发起请求获得响应的实例
const httpInstance=axios.create({
    timeout:50000
})
//配置请求拦截器
//config是拦截的数据包
httpInstance.interceptors.request.use(config=>{
    return config
},e=>{
    Promise.reject(e)
})
//配置axios的响应拦截器
httpInstance.interceptors.response.use(res=>res.data,e=>{
    if(e.response.status==401){
        ElMessage.error("请先登录")
        //跳转登陆页面

    }
    else{
        ElMessage({type:'error',message:'请重新登录'+e})
    }
    return Promise.reject(e)
})
export default httpInstance //对外暴露,用于在其他位置调用

const httpInstance=axios.create({timeout:50000})表示创建一个axios实例 ,设置了请求超时 时间是50000ms ,httpInstance.interceptors.request.use 是对请求进行拦截数据包 ,校验是否有错,没有问题返回数据包,有问题返回错误。httpInstance.interceptors.response.use 是对返回数据的时候进行拦截校验 ,上述代码的逻辑是,如果状态码是401,那么就会弹出一个错误提示框,内容为:请先登录,如果是其他的状态码,则弹出错误提示框,内容是:请重新登陆+错误。最后需要export暴露当前实例,这样其他文件才能用到。

步骤三:

创建测试API(js)文件

javascript 复制代码
import httpInstance from "@/utils/http";

export function getPeriodAll(){
    return httpInstance({
        url:'127.0.0.1:10086/user/getuserinfo'
    })
}

首先import导入 我们刚才写好的工具文件 ,import工具文件暴露名from路径。ps:@路径相关说明请看主页文章:++vue路径别名配置++

定义 我们要测试接口的函数 ,然后返回工具返回的值,所以写到一句代码中:return httpInstance({url:'接口地址'}),url内是你要测试的接口地址

步骤四:

在main.ts(main.js)文件中导入我们写好的测试函数

javascript 复制代码
import {getPeriodAll} from '@/apis/testAPI'

getPeriodAll().then((res:any) =>{
    console.log(res)
})

这个函数内的逻辑是将函数的返回值输出到控制台,我们也可以根据自己的业务需求去编写内部的逻辑

步骤五:

重启测试

注意:被测试的接口要允许跨域操作

如果你是java的spring框架开发的,那么可以在控制层加上注释:@CrossOrigin

其他的你自己找吧

相关推荐
LeQi1 分钟前
当!important成为代码毒瘤:你的项目是不是也中了招?
前端·css·程序员
玲小珑2 分钟前
Next.js 教程系列(九)增量静态再生 (ISR):动态更新的静态内容
前端·next.js
Mintopia11 分钟前
B 样条曲线:计算机图形学里的 “曲线魔术师”
前端·javascript·计算机图形学
前端小巷子14 分钟前
跨域问题解决方案:CORS(跨域资源共享)
前端·网络协议·面试
大大。15 分钟前
van-tabbar-item选中active数据变了,图标没变
java·服务器·前端
Mintopia17 分钟前
Three.js 3D 世界中的噪声运动:当数学与像素共舞
前端·javascript·three.js
paopaokaka_luck17 分钟前
基于SpringBoot+Vue的酒类仓储管理系统
数据库·vue.js·spring boot·后端·小程序
nc_kai18 分钟前
Flutter 之 每日翻译 PreferredSizeWidget
java·前端·flutter
来碗疙瘩汤20 分钟前
使用 Three.js 与 CSS3DRenderer 在 Vue3 中加载网页为 3D 模型
前端·javascript
满分观察网友z22 分钟前
富文本解析终极指南:从Quill到小程序,我如何用正则摆平所有坑?
前端