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

Axios POST请求返回400错误,Insomnia中却正常的问题排查

Insomnia生成的Axios代码报400错误的常见原因

以下是几个核心排查方向:

  • 请求体序列化差异
    Insomnia会自动完成JSON序列化,但Axios的处理逻辑可能和它有细微差别。比如生成的代码里如果手动用JSON.stringify()处理请求体,可能和Insomnia自动序列化的结果(比如空格、引号格式)不一致;反过来,如果Axios直接传对象但后端期望特定格式的字符串,也会触发错误。建议把Insomnia Debug标签里的序列化后请求体,和Axios发送的请求体(通过拦截器或调试工具打印)做逐字符对比。

  • 隐藏请求头缺失
    Insomnia会自动添加一些默认请求头(比如User-Agent、Accept: application/json),但生成的Axios代码可能没包含这些。如果后端对这些请求头有校验,缺少就会返回400。去Insomnia的Debug页面导出完整请求头列表,对比Axios代码里的headers配置,补上缺失的字段再测试。

  • 全局Axios配置干扰
    如果你项目里有全局Axios实例配置(比如全局baseURL、拦截器、transformRequest),可能会修改复制过来的请求。测试时可以创建全新的Axios实例隔离干扰:

    const axiosInstance = axios.create();
    axiosInstance.post('目标URL', 请求体数据, { 
      headers: {'Content-Type': 'application/json'} 
    })
    
  • 参数位置错误
    复制代码时偶尔会出现手误,比如把请求体data写成了URL参数params,导致参数被拼到URL里而非请求体,后端解析不到数据就返回400。仔细检查代码里的data字段是否正确对应请求体内容。

  • CSRF令牌缺失
    部分后端会校验CSRF令牌,Insomnia作为测试工具可能被后端豁免校验,或者自动获取了令牌,但Axios代码里没包含。检查Insomnia的请求头里有没有X-CSRF-Token这类字段,有的话加到Axios的请求头中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:25:22