You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 11:52:20