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

其他的你自己找吧

相关推荐
铁皮饭盒13 分钟前
Bun执行python代码
前端·javascript·后端
hunterandroid36 分钟前
Service 与前台服务:让任务在后台持续运行
前端
米饭同学i37 分钟前
深扒 LobsterAI 官网前端动效实现方案:从交互细节到代码实践
前端
前端啊1 小时前
告别 el-table 打印难题,vue3-print-el-table 来了!
前端·vue.js
JarvanMo1 小时前
AI时代跨平台还有必要吗?
前端
Patrick_Wilson1 小时前
幂等到底是什么?从前端视角讲透 SQL、HTTP 与 POST 接口的幂等设计
前端·后端·架构
凌览1 小时前
一人公司别再上 Jenkins,真不值
前端·后端
oil欧哟1 小时前
Codex 最佳实践(超级长文):先搞懂 AI,再用好 AI
前端·人工智能·后端
小小小小宇1 小时前
前端渲染方式
前端
京东云开发者2 小时前
全球首个!京东全栈开源JoyAI-VL-Interaction,让大模型从“一问一答”走向“边看边说”
前端