如何在React-Query中获取Spring Boot抛出的自定义异常信息?
获取自定义异常消息的解决方案
核心原因:你当前打印的是请求库(如Axios)自动生成的通用错误提示,而非Spring Boot后端返回的自定义异常信息。需要从错误对象的响应体中提取后端返回的ErrorResponse数据。
具体代码修改
假设你的signUpAsEmployer基于Axios实现,React Query抛出的错误对象包含response属性,其中data就是后端返回的自定义响应结构。修改onError逻辑:
const useSignUp = useMutation<Employer, Error, Employer>( (employer) => signUpAsEmployer(employer), { onError: (error) => { // 提取后端返回的自定义消息,做空值兜底 const customErrorMessage = error.response?.data?.message || '操作失败,请稍后重试'; console.log(customErrorMessage); } } );
补充说明
- 使用
?.可选链操作符是为了处理网络异常等无响应场景,避免出现空指针错误。 - 若你使用原生
fetch发送请求,需要在signUpAsEmployer函数中主动处理错误响应:判断响应状态码,若不为成功状态则解析响应体并抛出包含自定义消息的错误。
内容的提问来源于stack exchange,提问作者asfarasiknow
相关产品推荐
相关产品推荐

