Axios是一个基于Promise的HTTP客户端,用于发送HTTP请求。它可以在浏览器和Node.js中使用,并且支持各种功能,如拦截请求和响应、转换请求和响应数据等。
当使用Axios发送请求时,可以通过配置选项来告诉Axios如何处理错误响应形式。具体来说,可以通过设置validateStatus
选项来定义哪些HTTP状态码被视为有效的响应。默认情况下,Axios将只考虑状态码在200到299之间的响应为有效响应。
如果要自定义错误响应形式,可以通过以下步骤进行操作:
validateStatus
选项。例如:import axios, { AxiosError } from 'axios';
const instance = axios.create({
validateStatus: function (status) {
return status >= 200 && status < 500; // 只将状态码在200到499之间的响应视为有效响应
},
});
instance.get('https://api.example.com/data')
.then(function (response) {
// 处理有效响应
console.log(response.data);
})
.catch(function (error: AxiosError) {
// 处理错误响应
console.log(error.response?.data);
});
在上述代码中,我们通过设置validateStatus
选项将状态码在200到499之间的响应视为有效响应。如果收到的响应状态码不在该范围内,Axios将触发错误处理逻辑,并将错误信息包含在AxiosError
对象中的response
属性中。
需要注意的是,AxiosError
对象是Axios特定的错误对象,其中包含了与请求相关的错误信息,如请求配置、请求响应等。通过error.response?.data
可以获取到错误响应的数据。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云API网关。腾讯云云服务器提供了可靠的云计算基础设施,可用于部署和运行各种应用程序。腾讯云API网关是一种全托管的API服务,可帮助开发者更轻松地构建、发布和管理API,并提供高性能和高可靠性。
腾讯云云服务器产品介绍链接:https://cloud.tencent.com/product/cvm
腾讯云API网关产品介绍链接:https://cloud.tencent.com/product/apigateway
领取专属 10元无门槛券
手把手带您无忧上云