本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 API Gateway 匯出 REST API
一旦您使用 API Gateway 主控台或其他方式,在 API Gateway 中建立並配置 REST API,就可以使用 API Gateway Export API (屬於 Amazon API Gateway 控制服務的一部分) 將其匯出至 OpenAPI 檔案。若要使用 API Gateway Export API,您必須簽署 API 請求。如需簽署請求的詳細資訊,請參閱《IAM 使用者指南》中的簽署 AWS API 請求。您可以選擇在匯出的 OpenAPI 定義檔中包含 API Gateway 整合延伸項目和 Postman
注意
當使用 AWS CLI 匯出 API 時,請務必包含以下範例中所示的延伸模組參數,以確保包含 x-amazon-apigateway-request-validator
延伸模組:
aws apigateway get-export --parameters extensions='apigateway' --rest-api-id abcdefg123 --stage-name dev --export-type swagger latestswagger2.json
如果 API 的承載類型不是 application/json
,則無法匯出 API。如果您嘗試,則會收到錯誤回應,指出找不到 JSON 內文模型。
匯出 REST API 的請求
使用匯出 API 時,您可以提交 GET 請求並將欲匯出的 API 指定為 URL 路徑的一部分,藉此匯出現有 REST API。請求 URL 的格式如下:
您可以附加 extensions
查詢字串,以指定要包含 API Gateway 延伸 (具有 integration
值) 或是 Postman 延伸 (具有 postman
值)。
此外,您也可以將 Accept
標頭設定為 application/json
或 application/yaml
,分別接收 JSON 或 YAML 格式的 API 定義輸出。
如需使用 API Gateway Export API 提交 GET 請求的詳細資訊,請參閱 GetExport。
注意
如果您在 API 中定義模型,則模型必須適用於內容類型「application/json」,API Gateway 才會匯出模型。否則,API Gateway 會擲回例外狀況,其錯誤訊息為「只發現 ... 的非 JSON 內文模型」。
模型必須包含屬性,或是定義為特定 JSONSchema 類型。
下載 JSON 格式的 REST API OpenAPI 定義
以 JSON 格式的 OpenAPI 定義匯出並下載 REST API:
例如,在這裡,
可以是 <region>
us-east-1
。如需可使用 API Gateway 的所有區域,請參閱區域和端點。
下載 YAML 格式的 REST API OpenAPI 定義
以 YAML 格式的 OpenAPI 定義匯出並下載 REST API:
下載 JSON 格式且具有 Postman 延伸的 REST API OpenAPI 定義
以 JSON 格式的 OpenAPI 定義搭配 Postman 匯出並下載 REST API:
下載 YAML 格式且具有 API Gateway 整合的 REST API OpenAPI 定義
以 YAML 格式的 OpenAPI 定義搭配 API Gateway 整合匯出並下載 REST API:
使用 API Gateway 主控台匯出 REST API
將 REST API 部署至階段之後,即可繼續使用 API Gateway 主控台,將階段中的 API 匯出至 OpenAPI 檔案。
在 API Gateway 主控台的階段窗格中,選擇階段動作、匯出。

指定 API 規格類型、格式和延伸模組,以下載 API 的 OpenAPI 定義。