能否替换AWS API Gateway请求URL的部分路径?(HTTP API场景)
AWS API Gateway 路径重写实现方案
可行,你可以通过自定义域名的API Mappings功能实现该需求,无需修改现有ANY /api/{proxy+}路由及集成配置,具体操作步骤如下:
- 登录AWS API Gateway控制台,定位到你的目标HTTP API
- 切换至「自定义域名」页面,选中已配置的
apigateway.example.com域名 - 在「API映射」板块点击「添加映射」:
- 填写路径前缀为
/back - 选择目标API为你的HTTP API,指定对应的部署阶段(如
$default) - 在重写路径中输入
/api/{proxy+}——这里的{proxy+}会自动匹配/back之后的所有路径片段
- 填写路径前缀为
- 保存配置,等待5-10分钟让配置生效
配置完成后,访问https://apigateway.example.com/back/state时,API Gateway会自动将请求路径重写为/api/state,转发到你已有的ANY /api/{proxy+}集成处理,完全符合你的需求。
如果你偏好通过集成参数映射实现(不推荐,步骤更繁琐),也可以新增ANY /back/{proxy+}路由,在集成的请求参数映射中,将$request.path.proxy映射到集成路径的{proxy}参数,同时将集成路径设置为/api/{proxy},但这种方法需要额外维护一条路由,不如API Mappings简洁高效。
内容的提问来源于stack exchange,提问作者kapsopod
相关产品推荐
相关产品推荐

