如何将API网关的路径变量传递至第三方HTTP URI?
解决API网关路径变量转发到第三方API查询参数的问题
要实现将API网关的路径变量{search}转发到第三方API的查询参数s,无需Lambda函数,只需正确配置API网关的集成请求参数映射,具体步骤如下:
1. 确认基础资源与方法配置
确保你已创建/api/{search}资源,并为该资源配置了GET方法,且已关联到第三方HTTP API的集成类型。
2. 配置集成请求的查询参数映射
进入API网关控制台,找到目标API,进入/api/{search}的GET方法页面,切换到集成请求标签页:
- 调整集成URI:将原集成URI改为
https://api.third-party/?apiKey=SECRET_KEY(移除其中的&s={search},后续通过映射添加)。 - 添加查询字符串映射:
- 在「查询字符串参数」区域点击「添加查询字符串」。
- 填写名称为
s(对应第三方API接收的查询参数名)。 - 填写来源为
method.request.path.search(API网关内置的路径变量引用表达式,用于获取请求路径中的search值)。
- 保存当前配置,然后重新部署API到对应的阶段(必须部署才会生效)。
3. 验证配置效果
部署完成后,发起测试请求:
curl https://abcxyz.ap-southeast-3.amazonaws.com/api/my-test-keyword
此时第三方API收到的请求应包含查询参数s=my-test-keyword,路径变量已成功转发。
关键说明
API网关不会自动解析集成URI中的{search}占位符,必须通过显式的参数映射绑定路径变量与第三方API的查询参数,这是之前配置无效的核心原因。
内容的提问来源于stack exchange,提问作者Prajwal Kulkarni
相关产品推荐
相关产品推荐

