假设我有一个包含以下API的RESTful Web服务:
/
/things
/v2
/heartbeat
GET
/stuff
GET
POST
...
此服务在AWS API Gateway后面的AWS Elastic Beanstalk中运行。服务本身处理超出/things
路径的路由,因此我不想在API网关配置中复制此路由逻辑。有没有办法设置我的AWS API网关来处理/things
的任何请求并将其传递给我的服务,然后服务将处理路由到正确的路径和方法?
换句话说,我的API网关将使用我的API网关中定义的相同https://myUrl.com/things/v2/heartbeat
资源来处理对https://myUrl.com/things/v2/stuff
的请求和对/things
的另一个请求,而不必定义{ API网关本身的{1}}和/heartbeat
资源。
答案 0 :(得分:2)
您可以使用API Gateway的catch-all路径变量来执行此操作。
在您的情况下,您的方法类型为ANY,路径为/things/{proxy+}
您使用的Endpoint URL
类似于:https://api.yourbackend.com/ {proxy}
以下是一个屏幕截图,显示了API网关控制台中的示例HTTP代理集成:
此博客文章包含更多详细信息和屏幕截图: https://aws.amazon.com/blogs/aws/api-gateway-update-new-features-simplify-api-development/