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

AWS API Gateway代理模式下未传递请求路径参数的问题排查

修复AWS API Gateway代理路径丢失问题

问题原因

你当前的API Gateway配置未正确传递resource01之后的子路径到后端服务,导致后端请求缺少api/serviceName部分,最终返回404。

具体修正步骤

  1. 调整资源为代理类型

    • 进入API Gateway控制台,找到目标API下的/resource01资源。
    • 若当前是普通资源,删除后重新创建:路径设置为/resource01/{proxy+}({proxy+}是核心配置,用于匹配该资源下的所有多级子路径)。
    • 若不想删除原有资源,可在/resource01下创建子资源,路径设置为/{proxy+}。
  2. 修改集成请求URI

    • 进入/resource01/{proxy+}(或子资源/{proxy+})的ANY方法配置页面,切换到集成请求标签。
    • 将后端端点URI从固定的https://api.companySite.com/service01/v1修改为https://api.companySite.com/service01/v1/{proxy}。这里的{proxy}会自动替换为请求中resource01之后的所有路径内容(比如api/serviceName)。
  3. 检查映射模板(可选)

    • 如果配置了自定义映射模板,确保模板未覆盖路径参数的传递。对于ANY方法,保持默认的$input.path('$')即可,无需额外修改。
  4. 重新部署API

    • 完成上述修改后,点击API Gateway控制台顶部的部署API按钮,选择对应的部署阶段(如prod),确认部署。

验证

部署完成后,再次用Postman请求https://api.mydomain.com/resource01/api/serviceName?value=12345,查看CloudWatch日志,此时后端请求URI应变为https://api.companySite.com/service01/v1/api/serviceName?value=12345,服务会返回正常的200响应。

常见注意事项

  • 必须使用{proxy+}而非{proxy}:前者匹配多级子路径(如api/serviceName),后者仅匹配单一级路径。
  • 集成URI必须包含/{proxy}:若缺失,API Gateway只会传递查询参数,不会追加子路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:03:16