RESTAPI從API閘道匯出 - Amazon API 网关

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

RESTAPI從API閘道匯出

RESTAPI在API閘道中建立並設定後,您可以使用API閘道主控台或其他方式將其匯出到開啟API檔案API,使用屬於 Amazon API 閘道控制服務的一部分的API閘道匯出。若要使用API閘道匯出API,您必須簽署要API求。如需簽署要求的詳細資訊,請參閱IAM使用者指南中的簽署 AWS API要求。您可以選擇在匯出的開啟API定義檔案中包含API閘道整合延伸模組以及 Post ter 副檔名。

注意

匯出API使用時 AWS CLI,請務必包含如下列範例所示的延伸參數,以確保包含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類型,則無法匯出。如果您嘗試,您會收到錯誤回應,指出找不到JSON主體模型。

請求匯出 REST API

使用「匯出」時API,您可以RESTAPI透過提交GET請求來匯出現有的,並將其指定 to-be-exported API為URL路徑的一部分。請求URL的格式如下:

OpenAPI 3.0
https://<host>/restapis/<restapi_id>/stages/<stage_name>/exports/oas30
OpenAPI 2.0
https://<host>/restapis/<restapi_id>/stages/<stage_name>/exports/swagger

您可以附加extensions查詢字串,以指定是要包含API閘道延伸模組 (具有integration值) 還是 Postman 擴充功能 (具有postman值)。

此外,您可以將標Accept頭設定application/yamlapplication/json或分別以JSON或YAML格式接收API定義輸出。

如需使用 API Gateway 匯出提交GET要求的詳細資訊API,請參閱GetExport

注意

如果您在您的中定義模型API,它們必須適用於 API Gateway 的內容類型「應用程序/json」才能導出模型。否則,APIGateway 會拋出異常,並顯示「僅找到... 的非JSON主體模型」錯誤消息。

模型必須包含屬性或定義為特定JSONSchema類型。

下載RESTAPI開啟API定義於 JSON

若要以JSON格式匯出及下載 Open API 定義:RESTAPI

OpenAPI 3.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/oas30 Host: apigateway.<region>.amazonaws.com Accept: application/json
OpenAPI 2.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/swagger Host: apigateway.<region>.amazonaws.com Accept: application/json

例如,在這裡,<region> 可以是 us-east-1。有API關閘道可用的所有區域,請參閱區域和端點

下載RESTAPI開啟API定義於 YAML

若要以YAML格式匯出及下載 Open API 定義:RESTAPI

OpenAPI 3.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/oas30 Host: apigateway.<region>.amazonaws.com Accept: application/yaml
OpenAPI 2.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/swagger Host: apigateway.<region>.amazonaws.com Accept: application/yaml

下載具有郵差擴充功能的RESTAPI開啟API定義 JSON

要使Postman用JSON格式導出和下載 Open API 定義:RESTAPI

OpenAPI 3.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/oas30?extensions=postman Host: apigateway.<region>.amazonaws.com Accept: application/json
OpenAPI 2.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/swagger?extensions=postman Host: apigateway.<region>.amazonaws.com Accept: application/json

下載具有API閘道整合的RESTAPI開放API定義 YAML

若要匯出並下載具有 API Gateway 整合YAML格式的 Open API 定義檔:RESTAPI

OpenAPI 3.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/oas30?extensions=integrations Host: apigateway.<region>.amazonaws.com Accept: application/yaml
OpenAPI 2.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/swagger?extensions=integrations Host: apigateway.<region>.amazonaws.com Accept: application/yaml

RESTAPI使用API閘道主控台匯出

RESTAPI將您部署到階段之後,您可以使用 API Gateway 主控台繼續將階段API中的匯出至開啟API檔案。

在API閘道主控台的「階段」窗格中,選擇「階段動作」>「匯出」。

RESTAPI使用API閘道主控台匯出

指定API規格類型格式擴充功能,以下載您API的開啟定API義。