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

React中如何使用带身份验证的axios PUT方法,返回401怎么解决?

问题排查与解决方案

1. 核心错误:Authorization头格式不符合要求

gorest接口要求身份验证头必须携带Bearer 前缀,你当前直接填写令牌字符串的写法不符合规范,这是触发401的最常见原因。
正确的头格式为:
Authorization: Bearer 你的实际令牌

2. 其他可能导致401的问题

  • 请求体字段不匹配:gorest的用户更新接口没有body参数,需要传入的有效字段为name、gender、email、status,无效字段不会直接导致401但会触发参数错误,建议优先修正参数。
  • 操作的用户不属于当前令牌:你调用的用户ID为6的账号属于公共接口预设的其他用户,你只能修改自己用当前令牌创建的用户,操作他人账号会触发权限不足。
  • 令牌有效性问题:检查令牌是否过期、复制时是否遗漏字符或带入多余空格。

修正后的代码示例

const [data, setData] = useState(null);
useEffect(() => {
  axios
    .put(
      "https://gorest.co.in/public/v1/users/你自己创建的用户ID",
      {
        name: "Test",
        email: "test@example.com", // 必须传符合格式的未占用邮箱
        gender: "male",
        status: "active"
      },
      {
        headers: {
          Authorization: "Bearer 你的实际令牌", // 注意Bearer前缀和后面的空格不能省略
        },
      }
    )
    .then((response) => {
      setData(response.data);
    })
    .catch(err => console.log(err.response.data)); // 新增错误捕获,可打印接口返回的具体报错信息
}, []);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:39:02