我正在使用 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 會傳回下列錯誤訊息: "Execution failed due to configuration error: Illegal character in path.”
如果整合請求中未針對此參數定義 URL 路徑參數對應,API Gateway 會將此參數評估為常值字串 "{proxy+}"。由於 "{" 為無效字元,因此發生此情況時,API Gateway 會傳回錯誤。
若要解決此錯誤,請執行下列動作,針對整合請求中的 Proxy 路徑參數定義 URL 路徑參數對應:
解決方法
- 在 API Gateway 主控台中,選擇您的 API 名稱。
- 如果在資源窗格中選取此方法,請在方法執行窗格中選擇整合請求。
- 在整合請求窗格中,確認端點 URL 使用正確的 Proxy 路徑參數:{proxy}。(不含 "+" 的窮盡路徑變數。) 例如:http://example.com/{proxy}
- 展開 URL 路徑參數。然後,選擇新增路徑並執行下列動作:
在名稱中,輸入 proxy。如此即可對應至端點 URL 中的參數。
在映射自中,輸入 method.request.path.proxy。
**注意:**在此處,proxy 會對應至請求路徑的名稱 (如「方法請求」窗格中定義)。此請求路徑可透過建立命名為 {proxy} 的 Proxy 資源新增;或者,如為窮盡路徑變數,請透過建立命名為 {proxy+} 的 Proxy 資源新增。
- 選擇核取記號圖示 (建立)。
**注意:**如果您收到 Invalid mapping expression specified 錯誤訊息,請更新 AWS CloudFormation 範本或 OpenAPI 定義。然後重複上述步驟。
- 部署您的 API。
相關資訊
使用 Proxy 資源設定 Proxy 整合
使用 API Gateway 主控台設定請求與回應資料對應
使用 API Gateway 主控台設定 API 整合要求