AWS API网关的通用路径

时间:2017-04-04 16:19:26

标签: rest api amazon-web-services elastic-beanstalk aws-api-gateway

假设我有一个包含以下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资源。

1 个答案:

答案 0 :(得分:2)

您可以使用API​​ Gateway的catch-all路径变量来执行此操作。

在您的情况下,您的方法类型为ANY,路径为/things/{proxy+}

您使用的Endpoint URL类似于:https://api.yourbackend.com/ {proxy}

以下是一个屏幕截图,显示了API网关控制台中的示例HTTP代理集成: API Gateway example HTTP proxy integration

此博客文章包含更多详细信息和屏幕截图: https://aws.amazon.com/blogs/aws/api-gateway-update-new-features-simplify-api-development/