如何在Axios响应拦截器的响应错误时捕获请求信息?
在Axios响应错误拦截器中获取请求信息
Axios的响应错误对象自带request属性,该属性包含了当前失败请求的完整信息,你可以直接从中提取所需内容,无需额外配置请求拦截器存储请求信息。
修改你的拦截器代码如下:
function setupInterceptors(instance: AxiosInstance): AxiosInstance { instance.interceptors.request.use(requestInjectBearerToken); instance.interceptors.response.use(responseRetrieveData, function (error) { // 提取关键请求信息(敏感数据请先过滤) const requestInfo = { method: error.request?.method, url: error.request?.url, headers: error.request?.headers, data: error.request?.data }; // 将错误和请求信息一起上报到Sentry Sentry.captureException(error, (scope) => { scope.setContext("error_context", { error_details: error, request_info: requestInfo }); return scope; }); return Promise.reject(error); }); return instance; }
注意事项
error.request在浏览器和Node.js环境下的具体结构略有差异,但核心属性(method、url、headers等)保持一致- 若请求数据包含敏感信息(如令牌、隐私数据),必须先过滤后再上报,防止信息泄露
- 你可以根据需求提取更多请求属性,比如
timeout、responseType等
内容的提问来源于stack exchange,提问作者Pratik Dhody
相关产品推荐
相关产品推荐

