在vue3中alova怎么封装请求拦截和响应拦截
时间: 2023-09-10 07:11:41 浏览: 105
在Vue3中,可以使用Axios来发送HTTP请求,并且Axios也支持拦截请求和响应。下面是一个简单的Axios请求拦截和响应拦截的封装示例:
1. 首先,安装Axios依赖包
```
npm install axios
```
2. 在src文件夹下创建一个api文件夹,并且在api文件夹下创建一个request.js文件,用于封装请求拦截和响应拦截
```
import axios from 'axios'
const instance = axios.create({
baseURL: 'http://your-api-base-url.com',
timeout: 10000,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
// 请求拦截
instance.interceptors.request.use(
config => {
// 在请求发送之前做些什么
return config
},
error => {
// 对请求错误做些什么
return Promise.reject(error)
}
)
// 响应拦截
instance.interceptors.response.use(
response => {
// 对响应数据做些什么
return response.data
},
error => {
// 对响应错误做些什么
return Promise.reject(error)
}
)
export default instance
```
3. 在需要发送请求的组件中引入request.js文件,并且调用封装好的Axios方法
```
import request from '@/api/request'
request.get('/users').then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
```
这样就可以使用Axios发送HTTP请求,并且也能够实现请求拦截和响应拦截。
阅读全文