REST-API von API Gateway importieren - Amazon API Gateway

REST-API von API Gateway importieren

Sobald Sie eine REST-API in API Gateway erstellt und konfiguriert haben, können Sie sie mit der API Gateway-Konsole oder anderweitig in eine OpenAPI-Datei exportieren, und zwar mit der API Gateway-Export-API, die Teil des Amazon API Gateway-Control-Service ist. Um die API-Gateway-Export-API verwenden zu können, müssen Sie Ihre API-Anforderungen signieren. Weitere Informationen zum Signieren von Anforderungen finden Sie unter Signieren von AWS-API-Anforderungen im IAM-Benutzerhandbuch. Ihnen stehen Optionen zur Verfügung, die API Gateway-Integrationserweiterungen sowie die Postman-Erweiterungen in die exportierte OpenAPI-Definitionsdatei aufzunehmen.

Anmerkung

Beim Exportieren der API mithilfe von AWS CLI müssen Sie darauf achten, die Erweiterungsparameter einzuschließen, wie im folgenden Beispiel gezeigt, um sicherzustellen, dass die x-amazon-apigateway-request-validator-Erweiterung hinzugefügt wird:

aws apigateway get-export --parameters extensions='apigateway' --rest-api-id abcdefg123 --stage-name dev --export-type swagger latestswagger2.json

Sie können eine API nicht exportieren, wenn deren Nutzlast nicht vom Typ application/json ist. Wenn Sie dies versuchen, erhalten Sie eine Fehlermeldung, die besagt, dass JSON-Textmodelle nicht gefunden wurden.

Anfordern zum Exportieren einer REST-API

Mit der Export-API exportieren Sie eine vorhandene REST-API, indem Sie eine GET-Anforderung senden, in der die zu exportierende API als Teil von URL-Pfaden enthalten ist. Der Anforderungs-URL hat das folgende Format:

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

Sie können die Abfragezeichenfolge extensions anhängen, um anzugeben, ob API Gateway-Erweiterungen (mit dem Wert integration) oder Postman-Erweiterungen (mit dem Wert postman) enthalten sein sollen.

Darüber hinaus können Sie den Header Accept auf application/json oder application/yaml festlegen, um die API-Definitionsausgabe im JSON- bzw. YAML-Format zu erhalten.

Weitere Informationen zum Übermitteln von GET-Anfragen mithilfe der API-Gateway-Export-API finden Sie unter GetExport.

Anmerkung

Wenn Sie Modelle in Ihrer API definieren, müssen diese für den Inhaltstyp "application/json" sein, damit API Gateway das Modell exportieren kann. Andernfalls löst API Gateway eine Ausnahme mit der Fehlermeldung "Only found non-JSON body models for ..." aus.

Modelle müssen Eigenschaften enthalten oder als ein bestimmter JSONSchema-Typ definiert werden.

Herunterladen der REST-API-OpenAPI-Definition als JSON

So exportieren und laden Sie eine REST-API in OpenAPI-Definitionen im JSON-Format herunter:

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

Hier kann <region> beispielsweise us-east-1 sein. Informationen zu allen Regionen, in denen API Gateway verfügbar ist, finden Sie unter Regionen und Endpunkte.

Herunterladen der REST-API-OpenAPI-Definition als YAML

So exportieren und laden Sie eine REST-API in OpenAPI-Definitionen im YAML-Format herunter:

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

Herunterladen der REST-API-OpenAPI-Definition mit Postman-Erweiterungen als JSON

So exportieren und laden Sie eine REST-API in OpenAPI-Definitionen mit Postman im JSON-Format herunter:

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

REST-API OpenAPI-Definition mit API Gateway-Integration in YAML herunterladen

So exportieren Sie eine REST-API in OpenAPI-Definitionen mit API Gateway-Integration im YAML-Format und laden Sie herunter:

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

REST-API über die API-Gateway-Konsole exportieren

Nach der Bereitstellung Ihrer REST-API für eine Stufe können Sie mit der API Gateway-Konsole die API in der Stufe in eine OpenAPI-Datei exportieren.

Wählen Sie in der API-Gateway-Konsole im Bereich Stufen die Optionen Stufenaktionen und Export aus.


                      REST-API über die API-Gateway-Konsole exportieren

Geben Sie einen API-Spezifikationstyp, ein Format und Erweiterungen an, um die OpenAPI-Definition Ihrer API herunterzuladen.