vue封装axios请求接口并添加前置拦截器和响应拦截器

简介: vue封装axios请求接口并添加前置拦截器和响应拦截器

设置步骤

在Vue中封装axios请求接口并添加前置拦截器和响应拦截器,可以按照以下步骤进行操作:

1.安装axios:

首先,你需要安装axios。可以通过npm或yarn来安装它。在终端中运行以下命令:

npm install axios
# 或者使用yarn
yarn add axios

2.创建API文件

在src目录下创建一个名为api.jsapi.ts的文件,用于封装axios请求和拦截器。例如,编写以下代码:

import axios from 'axios';
// 创建axios实例
const instance = axios.create({
  baseURL: 'https://your-api-url.com', // 设置API的基础URL
  timeout: 5000, // 设置请求超时时间
});
// 前置拦截器
instance.interceptors.request.use(
  (config) => {
    // 在发送请求之前做些什么,比如添加token等
    return config;
  },
  (error) => {
    // 处理请求错误
    return Promise.reject(error);
  }
);
// 响应拦截器
instance.interceptors.response.use(
  (response) => {
    // 对响应数据做些什么,比如处理错误码等
    return response.data;
  },
  (error) => {
    // 处理响应错误
    return Promise.reject(error);
  }
);
export default instance;

在这个例子中,我们创建了一个名为instance的axios实例,并设置了基础URL和请求超时时间。然后,我们使用interceptors添加了前置拦截器和响应拦截器。


3.使用封装的API:

现在,你可以在Vue组件中使用封装的API来发送请求。例如,在某个组件中,你可以引入刚刚创建的API文件,并使用它来发送请求:

import api from './api';
export default {
  methods: {
    fetchData() {
      api.get('/data')
        .then((response) => {
          // 处理成功响应数据
          console.log(response);
        })
        .catch((error) => {
          // 处理错误
          console.error(error);
        });
    },
  },
};

在这个例子中,我们通过api.get('/data')发送了一个GET请求来获取数据。你可以根据需要使用不同的HTTP方法(如GET、POST等)来发送请求。

这样,你就可以在Vue中封装axios请求接口并添加前置拦截器和响应拦截器了。

相关文章
|
3月前
|
资源调度 JavaScript 前端开发
vue-element-admin 综合开发四:axios安装和封装、mock安装/学习/使用
这篇文章是关于如何在Vue项目中使用axios进行网络请求、二次封装axios以及使用mockjs模拟响应数据的教程。
127 1
vue-element-admin 综合开发四:axios安装和封装、mock安装/学习/使用
|
27天前
|
JavaScript API 数据处理
vue3使用pinia中的actions,需要调用接口的话
通过上述步骤,您可以在Vue 3中使用Pinia和actions来管理状态并调用API接口。Pinia的简洁设计使得状态管理和异步操作更加直观和易于维护。无论是安装配置、创建Store还是在组件中使用Store,都能轻松实现高效的状态管理和数据处理。
106 3
|
3月前
|
缓存 JavaScript 搜索推荐
|
3月前
|
前端开发 JavaScript 安全
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
225 4
|
3月前
vue3 + Ts 中 使用 class 封装 axios
【10月更文挑战第8天】
219 1
|
3月前
vue3 + Ts 中 使用 class 封装 axios
【10月更文挑战第5天】
263 1
|
3月前
|
前端开发 JavaScript API
自己动手封装axios通用方法并上传至私有npm仓库:详细步骤与实现指南
自己动手封装axios通用方法并上传至私有npm仓库:详细步骤与实现指南
169 0
|
3月前
|
资源调度 JavaScript
|
5月前
|
JavaScript 前端开发
【Vue面试题二十五】、你了解axios的原理吗?有看过它的源码吗?
这篇文章主要讨论了axios的使用、原理以及源码分析。 文章中首先回顾了axios的基本用法,包括发送请求、请求拦截器和响应拦截器的使用,以及如何取消请求。接着,作者实现了一个简易版的axios,包括构造函数、请求方法、拦截器的实现等。最后,文章对axios的源码进行了分析,包括目录结构、核心文件axios.js的内容,以及axios实例化过程中的配置合并、拦截器的使用等。
【Vue面试题二十五】、你了解axios的原理吗?有看过它的源码吗?
|
5月前
|
JavaScript 前端开发
【Vue面试题二十七】、你了解axios的原理吗?有看过它的源码吗?
文章讨论了Vue项目目录结构的设计原则和实践,强调了项目结构清晰的重要性,提出了包括语义一致性、单一入口/出口、就近原则、公共文件的绝对路径引用等原则,并展示了单页面和多页面Vue项目的目录结构示例。