fix: extract actual error message from backend error responses
The error interceptor was re-throwing the generic axios Error object instead of extracting the actual error message from the response body. Now extracts error.response.data.error for meaningful error messages.
This commit is contained in:
@@ -39,7 +39,10 @@ service.interceptors.response.use(
|
||||
return res
|
||||
},
|
||||
error => {
|
||||
console.error('Response error:', error)
|
||||
// Extract actual error message from response body
|
||||
const backendError = error.response?.data?.error || error.response?.data?.message
|
||||
const errorMsg = backendError || error.message || 'Unknown error'
|
||||
console.error('Response error:', errorMsg, error)
|
||||
|
||||
// 处理超时
|
||||
if (error.code === 'ECONNABORTED' && error.message.includes('timeout')) {
|
||||
@@ -51,7 +54,10 @@ service.interceptors.response.use(
|
||||
console.error('Network error - please check your connection')
|
||||
}
|
||||
|
||||
return Promise.reject(error)
|
||||
// Reject with a meaningful error message
|
||||
const enhancedError = new Error(errorMsg)
|
||||
enhancedError.response = error.response
|
||||
return Promise.reject(enhancedError)
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user