Vue.js如何处理来自Spring Boot的API错误响应?
时间: 2024-12-16 20:17:38 浏览: 12
在Vue.js中处理Spring Boot API错误响应通常涉及以下几个步骤:
1. **拦截器设置**:在Vue项目中,你可以使用axios的全局拦截器来统一处理所有HTTP请求。在`main.js`或其他适当的文件中,添加一个拦截器来处理错误:
```javascript
import axios from 'axios';
import { createErrorInterceptor } from './utils'; // 引入自定义的错误处理函数
axios.interceptors.response.use(
response => response,
error => {
if (error.response) {
const { status, data } = error.response;
if (status >= 400) { // 检查HTTP状态码判断是否为错误
createErrorInterceptor(data); // 调用自定义错误处理函数
}
} else {
// 非网络错误,比如超时或无法解析的JSON
console.error('An error occurred:', error.message);
}
return Promise.reject(error);
}
);
```
这里的`createErrorInterceptor`是一个可以根据错误信息动态处理的方式,比如显示友好的错误提示或者重试。
2. **自定义错误处理函数**:
```javascript
function createErrorInterceptor(errorData) {
// 根据errorData处理,例如显示Toast消息,更新状态等等
if (errorData && errorData.message) {
this.$message.error(errorData.message); // 使用Vue-element-ui等UI库展示错误信息
} else {
this.$notify({ message: '服务器出错,请稍后再试' });
}
}
```
这只是一个基本示例,实际场景可能会根据需求更复杂,例如检查特定状态码、使用服务端返回的错误详情等。
阅读全文