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
|
return res
|
||||||
},
|
},
|
||||||
error => {
|
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')) {
|
if (error.code === 'ECONNABORTED' && error.message.includes('timeout')) {
|
||||||
@@ -51,7 +54,10 @@ service.interceptors.response.use(
|
|||||||
console.error('Network error - please check your connection')
|
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