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

API Gateway未透传Content-Type请求头到Lambda该如何解决?

解决方案

情况1:使用的是API Gateway REST API

  • 进入API Gateway控制台,找到对应API的「方法请求」配置页
  • 下拉到「HTTP 请求头」部分,点击「添加请求头」
  • 名称填写Content-Type,勾选「必需的」和「已启用」
  • 再进入「集成请求」配置页,下拉到「HTTP 标头映射」部分
  • 点击「添加标头」,名称填Content-Type,映射值写method.request.header.Content-Type
  • 保存配置后重新部署API生效

如果是用Serverless Framework部署的,可以直接在函数的events配置里添加允许头规则,示例配置:

functions:
  yourFunctionName:
    handler: handler.run
    events:
      - http:
          path: your/upload/path
          method: post
          cors:
            allowHeaders:
              - Content-Type

情况2:使用的是API Gateway HTTP API

HTTP API默认会透传绝大多数请求头到Lambda,请求头缺失大概率是参数取值路径写错:

  • Lambda event里的请求头存放在headers字段下,所有key会被自动转为小写,需要取content-type而不是驼峰格式的Content-Type
  • 如果配置了CORS规则,需要在CORS配置的「允许的标头」列表里加上Content-Type,重新部署后生效

额外校验步骤

配置完成后如果还是取不到值,可以先使用API Gateway控制台自带的测试功能,直接发送带Content-Type: multipart/form-data的请求,查看测试返回的「集成请求」日志,确认标头是否已经被正确传递到Lambda侧。
如果你开启了Lambda代理集成,不需要额外配置标头映射,只需要确保请求头在允许列表中,就能直接在event.headers里拿到对应值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 01:45:00