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
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:
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 Senden von GET-Anfragen mithilfe der API Gateway-Export-API finden Sie unter Senden von HTTP-Anfragen.
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:
Hier kann
beispielsweise <region>
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:
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:
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:
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 auf der Seite Stufenkonfiguration in der API Gateway-Konsole die Registerkarte Exportieren und dann eine der verfügbaren Optionen (Exportieren als OpenAPI, Exportieren als OpenAPI + API-Gateway-Integrationen und Exportieren als Postman), um die OpenAPI-Definition Ihrer API herunterzuladen.
