vue3如何封装axios
简介axios是一个基于promise的网络请求库,管理后台使用的场景通常获取后端api数据,然后交给页面渲染还是在前面的示例项目上操作,安装axios最新0.27.2版本cdHELLO-WORLDnpminstallaxiosopenapi在网上找到一个开放的openapi地址,免费且无需认证就可以使用方便开发时模拟接口数据,但不能使用在生产环境中该openapi返回json数据,比较符合我们的需求,这里直接写死到axios配置中基本配置axios配置项较多,这里只配置基本功能在src目录下创建util
简介
axios是一个基于promise的网络请求库,管理后台使用的场景通常 获取后端api数据,然后交给页面渲染
还是在前面的示例项目上操作,安装axios最新0.27.2版本
cd HELLO-WORLD npm install axios
openapi
在网上找到一个开放的openapi地址,免费且无需认证就可以使用
方便开发时模拟接口数据,但不能使用在生产环境中
该openapi返回json数据,比较符合我们的需求, 这里直接写死到axios配置中
基本配置
axios配置项较多,这里只配置基本功能
在src目录下创建utils文件夹,然后创建request.js文件
import axios from 'axios' //自动加在url前面 axios.defaults.baseURL = 'https://api.apiopen.top' //超时时间 axios.defaults.timeout = 5000 //跨域凭证 axios.defaults.withCredentials = false //响应和请求 拦截器配置 export default axios
拦截器
axios拦截器分为 请求拦截和响应拦截
请求拦截器可以在请求时设置token,header等等
响应拦截器可以在收到数据后进行逻辑判断
请求拦截器配置
axios.interceptors.request.use(config => {
console.log(config)
return config
}, error => {
Promise.reject(error)
})响应拦截器配置
axios.interceptors.response.use(res => {
if (typeof res.data !== 'object') {
ElMessage.error('返回数据不是对象!')
return Promise.reject(res)
}
if (res.data.code !== 200 ){
ElMessage.error('返回码不等于200')
}
return res.data
}, error => {
ElMessage.error('网络异常')
Promise.reject(error)
})api请求
在src目录创建api文件夹,在api目录中创建openapi.js 文件
创建一个getImages方法来 获取 openapi的图片数据
该方法指定请求get方法,传入url和参数
import request from '../utils/request'
export function getImages(params) {
return request.get('/api/getImages', { params })
}数据渲染
在components目录创建一个table.vue的组件,路由配置见前一章
引入openapi,因为是js组件,不需要在vue页面显示声明,直接使用
在页面创建时调用请求数据方法,页面加载完成既可在页面上看到数据
<template>
<div>
<div>
<p>this is imagesdata: {{ imagesData }}</p>
</div>
</div>
</template>
<script>
import { getImages } from '@/api/openapi'
export default {
name: 'Table',
data() {
return {
imagesData: null,
queryData: {
page: 0,
size: 10,
}
}
},
created() {
this.fetchData();
},
methods: {
fetchData() {
getImages(this.queryData).then( (res) => {
this.imagesData = res.result
}).finally( () => {
console.log(this.imagesData)
})
}
}
}
</script>效果如下

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。








