设置请求拦截和拦截响应
设置请求拦截和拦截响应
// 创建axios实例并设置公共的baseURL
const axiosInstance = axios.create({
baseURL: 'http://localhost:8080',
});
// 设置请求拦截器(对于所有通过axiosInstance发起的请求都有效)
axiosInstance.interceptors.request.use(config => {
// 检查JWT token...
const token = localStorage.getItem('jwtToken');
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
}, error => {
// 处理请求错误...
Promise.reject(error);
});
// 设置响应拦截器(同样适用于所有请求)
axiosInstance.interceptors.response.use(response => {
// 处理成功响应...
return response;
}, error => {
// 处理错误响应,如401 Unauthorized等...
return Promise.reject(error);
});
// 使用axios实例发起GET请求
axiosInstance.get('/emps')
.then(result => {
// 处理GET请求的结果...
})
.catch(error => {
// 处理GET请求的错误...
});
// 使用axios实例发起PUT请求
axiosInstance.put('/emps', { /* 请求体数据 */ })
.then(result => {
// 处理PUT请求的结果...
})
.catch(error => {
// 处理PUT请求的错误...
});