Axios 请求拦截器和响应拦截器配置

简易模式

 


import axios from 'axios'


const axiosInstance = axios.create({
    baseURL: baseUrl,
    timeout: 1000 * 60 * 1,
    responseType: 'json',
    insecureHTTPParser: true,
    headers: {
        'Content-Type': 'application/json;charset=utf-8',
    },
})

// 请求拦截器
// 在请求发送前进行必要操作处理,例如添加统一cookie、请求体加验证、设置请求头等,相当于是对每个接口里相同操作的一个封装;
axiosInstance.interceptors.request.use(
    (config) => {
        const newConfig = config
        if (config.data instanceof FormData) {
            Object.assign(newConfig.headers, { 'Content-Type': 'application/json' })
        }
        return newConfig
    }
)

// 响应拦截器
// 在请求得到响应之后,对响应体的一些处理,通常是数据统一处理等,也常来判断登录失效等
axiosInstance.interceptors.response.use(
    (response) => {
        return response.data
    },
    (error) => {
        return Promise.reject(error)
    }
)
 

 

 
posted @ 2024-04-23 17:59  维多利亚的巴黎世家  阅读(80)  评论(0)    收藏  举报