vue中二次封装axios以及api统一管理
warning:
这篇文章距离上次修改已过239天,其中的内容可能已经有所变动。
import axios from 'axios';
// 创建axios实例
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // api的base_url
timeout: 5000 // 请求超时时间
});
// 请求拦截器
service.interceptors.request.use(
config => {
// 可以在这里添加请求头等信息
return config;
},
error => {
// 请求错误处理
console.log(error); // for debug
Promise.reject(error);
}
);
// 响应拦截器
service.interceptors.response.use(
response => {
// 可以在这里对响应数据进行处理
return response.data;
},
error => {
// 响应错误处理
console.log('err' + error); // for debug
return Promise.reject(error);
}
);
// 导出API
export default {
get(url, params) {
return service.get(url, {
params: params
});
},
post(url, data) {
return service.post(url, data);
},
put(url, data) {
return service.put(url, data);
},
delete(url, params) {
return service.delete(url, {
params: params
});
}
};
这个代码示例展示了如何在Vue项目中二次封装axios,并提供了简单的API统一管理。代码中创建了axios实例,并分别配置了请求拦截器和响应拦截器,最后导出了基本的GET、POST、PUT和DELETE方法供其他组件使用。这样的封装可以减少重复代码,提高代码的可维护性和可读性。
评论已关闭