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

axios.get中config的作用是什么?请求头与认证相关疑问

Axios GET请求中Config、Headers及Authorization的作用解析

为什么需要配置Config?

Axios的config是用来定制请求细节的配置对象,不是所有GET请求都必须传,但当你需要给请求附加额外规则或元数据时就必不可少。比如身份验证、设置超时时间、自定义请求头、指定响应格式等场景,都得靠config来实现。像你给出的代码里,就是用config来携带身份凭证,让服务器验证你的访问权限。

请求头(Headers)的作用

HTTP请求头是客户端和服务器之间传递元数据的载体,它不会出现在请求的主体内容里,但能告诉服务器很多关键信息:

  • 告知服务器请求的内容类型(比如Content-Type: application/json)
  • 标识客户端类型(比如浏览器、移动端APP)
  • 携带身份验证凭证
  • 控制缓存策略
    简单说,请求头就是给服务器发请求时的"附加说明",帮助服务器正确处理你的请求。

Authorization的作用

Authorization是HTTP标准定义的身份验证请求头,专门用来传递用户的身份凭证,让服务器确认你是谁,以及你有没有权限访问目标资源。
你代码里用的Bearer ${userInfo.token}是JWT(JSON Web Token)常用的验证格式:

  • Bearer是身份验证的方案类型,告诉服务器接下来的字符串是Token凭证
  • ${userInfo.token}是后端生成的用户身份令牌,服务器拿到后会验证这个令牌的有效性,确认你是合法用户,并且有权限查看指定的订单数据(/api/orders/${orderId})。如果没有这个头,服务器可能直接返回401未授权错误。

为什么要把Config作为第二个参数传入?

这是由Axios的方法签名设计决定的:

  • GET请求的参数通常放在URL的查询字符串里(比如/api/orders?id=123),不需要单独的请求体(request body),所以Axios把GET方法的参数设计成axios.get(url[, config]),第二个位置留给配置对象。
  • 而像POST、PUT这类需要传递请求体的方法,签名是axios.post(url[, data[, config]]),请求体数据占了第二个参数,config就只能放在第三个位置。
    这种设计是为了适配不同HTTP方法的特性,让API调用更符合逻辑。

代码示例解析

你给出的这段代码逻辑很清晰:

dispatch({ type: 'FETCH_REQUEST' });
let config = {
  headers: { authorization: `Bearer ${userInfo.token}` },
};
//从后端获取数据
const { data } = await axios.get(`/api/orders/${orderId}`, config);
  1. 先通过dispatch触发一个请求开始的状态(比如页面加载中提示)
  2. 构建config对象,在headers里带上Authorization身份令牌
  3. 发起GET请求时传入config,让服务器验证身份后返回指定订单的数据

内容的提问来源于stack exchange,提问作者CodeEx

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 14:41:04