簡體   English   中英

從 AWS API 網關自定義域映射中刪除映射路徑

[英]Remove mapped path from AWS API Gateway custom domain mapping

我在 AWS API 網關中設置了一個自定義域。 我的意圖是使用“API 映射”將不同 API 版本的流量發送到各自的 API 網關,例如:

  • GET https://example.com/v1/foo通過自定義域上的 API 路徑映射發送到 API 網關“APIv1”( $default階段)。
  • GET https://example.com/v2/foo通過 API 路徑映射發送到 API 網關“APIv2”( $default階段)

在此處輸入圖像描述

HTTP API 本身配置有單個路由/{proxy+}和將請求發送到私有 ALB 的集成:

在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

就路由流量而言,此設置工作正常,但問題是當請求到達實際應用程序時,應用程序接收到的路由就像/v1/foo而不是只是/foo ,這是應用程序所期望的.

我玩過不同的路由匹配和參數映射(我幾乎找不到我的用例的例子)無濟於事。

我可以更改我的應用程序代碼以匹配 AWS 發送的路由,但這樣做的全部目的是使用我的 AWS 堆棧而不是應用程序代碼來處理版本控制。 我還有其他選擇嗎?

如果您創建一個名為/foo的資源和其中的代理資源,當您設置集成時,您可以定義要傳遞的路徑, {proxy}將只有/foo之后的部分,完全忽略v1

請參閱下面的示例。
在這種情況下,它會忽略v1之前的所有內容,並且還將集成重寫為/api/{proxy}

它將以GET https://example.com/abc/xyz/v1/foo GET https://example.com/api/foo轉發到后端。

API 網關演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM