利用响应拦截器做请求拦击
时间: 2023-11-16 21:05:49 浏览: 108
在mybatis执行SQL语句之前进行拦击处理实例
响应拦截器可以用来拦截服务器返回的响应数据,在对响应数据进行处理之前,可以进行一些拦截操作,比如判断响应数据是否符合预期、是否包含敏感信息等。
如果要利用响应拦截器做请求拦截,可以在响应拦截器中判断服务器返回的响应数据是否符合预期,如果不符合预期,则可以抛出异常或者返回错误信息,从而达到拦截请求的目的。
下面是一个示例代码:
```javascript
// 创建axios实例
const instance = axios.create({
baseURL: 'http://localhost:3000',
timeout: 1000,
});
// 添加响应拦截器
instance.interceptors.response.use(
response => {
// 判断响应数据是否符合预期
if (response.data.code !== 0) {
// 如果不符合预期,则抛出异常或者返回错误信息
throw new Error(response.data.message);
}
// 如果符合预期,则返回响应数据
return response.data;
},
error => {
// 处理异常
console.error(error);
return Promise.reject(error);
}
);
// 发送请求
instance.get('/data')
.then(data => {
// 处理响应数据
console.log(data);
})
.catch(error => {
// 处理异常
console.error(error);
});
```
在上面的代码中,我们创建了一个axios实例,然后添加了响应拦截器。在响应拦截器中,我们判断了服务器返回的响应数据是否符合预期,如果不符合预期,则抛出异常或者返回错误信息。最后,我们发送了一个请求,并处理了响应数据和异常。
阅读全文