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

AWS API Gateway(HTTP API)路径参数编码规则及正确编码方法咨询

AWS HTTP API路径参数编码规则及正确处理方式

AWS HTTP API对路径参数的处理分为两个核心阶段:

  1. 路由匹配阶段:API Gateway会先对整个请求URL的路径部分执行一次URL解码,再用解码后的路径匹配你定义的路由模板(比如GET /{example}/thing)。
  2. 后端传递阶段:路由匹配成功后,API Gateway会将匹配到的路径参数值再次执行URL解码,再传递给后端集成(如Lambda)。

测试情况分析

  • 请求/a/b/thing:解码后路径为/a/b/thing,包含3个路径段(a、b、thing),与路由模板的2段结构不匹配,返回404,符合预期。
  • 请求/a%2Fb/thing:解码后路径变为/a/b/thing,同样是3个路径段,路由匹配失败,返回404。
  • 请求/a%25Fb/thing:解码后路径为/a%Fb/thing,%Fb属于无效URL编码字符,路由匹配失败,返回404。
  • 请求/a%2525Fb/thing:此处应为输入笔误,正确针对/的双重编码应为%252F。若请求路径为/a%252Fb/thing,解码后路径为/a%2Fb/thing(2个路径段),匹配路由模板;随后参数值a%2Fb会被再次解码为a/b传递给Lambda,这才是符合预期的结果。

正确的编码方式

要传递包含/的路径参数(如a/b),需对参数中的/进行双重URL编码:

  1. 第一步:将/编码为标准URL编码%2F;
  2. 第二步:将编码后的%再次编码为%25,最终/会被转换为%252F。

因此a/b对应的编码后参数为a%252Fb,请求路径应为/a%252Fb/thing:

  • API Gateway第一次解码后得到/a%2Fb/thing,匹配路由;
  • 传递给Lambda时二次解码,得到参数值a/b。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 14:33:28