axios全局加header、request、response拦截

1、包装axios

const restWithHeader = axios.create({
	baseURL: import.meta.env.APP_BASE_API_URL,
	timeout: 60000,
	headers: {
		'header1': 'This is a header value'
	}
})

// 请求
restWithHeader.interceptors.request.use(config => {
	config.headers['token'] = sessionStorage.getItem('token')
	return config
})

// 响应拦截
restWithHeader.interceptors.response.use(res => {
	return res
}, error => {
	// do something
	return Promise.reject(error)
})

export default restWithHeader

注:error数据结构:

{
	"message": "Request failed with status code 403",
	"name": "AxiosError",
	"config": {
		...
	},
	"code": "ERR_BAD_REQUEST",
	"status": 403
}

2、使用restWithHeader定义api

export const myApi= (param1, param2) => {
    let params = {
        param1: param1,
        param2: param2
    }
	return rest.request({
		url: 'your_api_url',
		method: 'post',
		data: params
	})
}
posted @   漠孤烟  阅读(189)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示