如何解決建立具有 Proxy 資源的 API Gateway API 時 出現的 "Execution failed due to configuration error: Illegal character in path(執行因組態錯誤失敗:路徑中存在非法字元)" 錯誤?

1 分的閱讀內容
0

我正在使用 AWS CloudFormation 範本(或 OpenAPI API 定義)建立具有 Proxy 資源的 Amazon API Gateway API。當我嘗試建立 API 時,收到下列錯誤: "Execution failed due to configuration error: Illegal character in path.(執行因組態錯誤失敗:"路徑中存在非法字元。)" 我該如何解決此錯誤?

簡短說明

如果 Proxy 路徑參數 ({proxy+}) 的 URL 路徑參數對應尚未定義,則 API Gateway 會傳回下列錯誤:

執行因組態錯誤失敗: 路徑中存在非法字元

如果整合請求中未針對此參數定義 URL 路徑參數對應,API Gateway 會將此參數評估為常值字串 "{proxy+}"。由於 "{" 為無效字元,因此發生此情況時,API Gateway 會傳回錯誤。

若要解決此錯誤,請執行下列動作,針對整合請求中的 Proxy 路徑參數定義 URL 路徑參數對應:

解決方法

1.    在 API Gateway 主控台中,選擇 API 的名稱。

2.    如果在資源窗格中選取此方法,則請在方法執行窗格中選擇 Integration Request(整合請求)。

3.    在整合請求窗格中,確認端點 URL 使用正確的 Proxy 路徑參數:{proxy}。(不含 "+" 的窮盡路徑變數) 例如:http://example.com/{proxy}

4.    展開 URL 路徑參數。然後,選擇 Add path(新增路徑)並執行下列動作:
名稱中,輸入 Proxy。如此即可對應至端點 URL 中的參數。
對應來源中,輸入 method.request.path.proxy
**注意:**在此處,Proxy 會對應至「方法請求」窗格中定義之請求路徑的名稱。此請求路徑可透過建立命名為 {proxy} 的 Proxy 資源新增;或者,如為窮盡路徑變數,請透過建立命名為 {proxy+} 的 Proxy 資源新增。

5.    選擇核取記號圖示 (建立)。

注意:如果您收到指定的對應運算式無效錯誤,請更新 AWS CloudFormation 範本或 OpenAPI 定義。接著,重複本文中的步驟。

6.    部署您的 API。


相關資訊

使用 Proxy 資源設定 Proxy 整合

使用 API Gateway 主控台設定請求與回應資料對應

使用 API Gateway 主控台設定 API 整合要求

AWS 官方
AWS 官方已更新 3 年前