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:
Kunthawat Greethong
2026-06-17 21:40:21 +07:00
parent 5224c6df79
commit 2bb1afab68

View File

@@ -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)
} }
) )