Exportation d'une API REST à partir d'API Gateway - Amazon API Gateway

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exportation d'une API REST à partir d'API Gateway

Une fois que vous avez créé et configuré une API REST dans API Gateway à l'aide de la console API Gateway ou par tout autre moyen, vous pouvez l'exporter dans un fichier OpenAPI à l'aide de la fonction d'exportation d'API API Gateway, qui fait partie du service de contrôle Amazon API Gateway. Pour utiliser l'API d'exportation d'API Gateway, vous devez signer vos demandes d'API. Pour plus d'informations sur les demandes de signature, consultez la section Signing AWS API du Guide de l'utilisateur IAM. Des options vous permettent d'inclure les extensions d'intégration API Gateway, ainsi que les extensions Postman dans le fichier de définition OpenAPI exporté.

Note

Lorsque vous exportez l'API à l'aide de AWS CLI, veillez à inclure le paramètre extensions comme indiqué dans l'exemple suivant, afin de garantir que l'x-amazon-apigateway-request-validatorextension est incluse :

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

Vous ne pouvez pas exporter une API si ses charges utiles ne sont pas de type application/json. Si vous essayez, vous obtenez un message d'erreur indiquant que les modèles de corps JSON sont introuvables.

Demande d'exportation d'une API REST

Avec l'API d'exportation, vous exportez une API REST existante en soumettant une requête GET, en spécifiant l' to-be-exported API dans le cadre des chemins d'URL. L'URL de la requête est au format suivant :

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

Vous pouvez ajouter la chaîne de requête extensions pour spécifier si vous souhaitez inclure les extensions API Gateway (avec la valeur integration) ou les extensions Postman (avec la valeur postman).

En outre, vous pouvez affecter à l'en-tête Accept la valeur application/json ou application/yaml pour recevoir la définition d'API au format JSON ou YAML, respectivement.

Pour plus d'informations sur la soumission de requêtes GET à l'aide de l'API API Gateway Export, consultez GetExport.

Note

Si vous définissez des modèles dans votre API, ils doivent être définis pour le type de contenu « application/json » pour qu'API Gateway les exporte. Sinon, API Gateway lance une exception avec le message d'erreur « Only found non-JSON body models for... » (Seuls des modèles de corps non-JSON ont été détectés pour...).

Les modèles doivent contenir des propriétés ou être définis comme un type JSONSchema particulier.

Téléchargement d'une définition OpenAPI d'API REST au format JSON

Pour exporter et télécharger une API REST dans des définitions OpenAPI au format JSON :

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

Ici, <region> pourrait être us-east-1, par exemple. Pour toutes les régions où API Gateway est disponible, consultez Régions et points de terminaison.

Téléchargement d'une définition OpenAPI d'API REST au format YAML

Pour exporter et télécharger une API REST dans des définitions OpenAPI au format YAML :

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

Téléchargement d'une définition OpenAPI d'API REST avec les extensions Postman au format JSON

Pour exporter et télécharger une API REST dans des définitions OpenAPI avec Postman au format JSON :

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

Téléchargement d'une définition OpenAPI d'API REST avec intégration API Gateway au format YAML

Pour exporter et télécharger une API REST dans des définitions OpenAPI avec intégration API Gateway au format YAML :

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

Exportation d'une API REST à l'aide de la console API Gateway

Après avoir déployé votre API REST jusqu'à un certain stade, vous pouvez passer à l'exportation de cette API à l'étape dans un fichier OpenAPI à l'aide de la console API Gateway.

Dans le volet Étapes de la console API Gateway, choisissez Actions d'étape, Exporter.

Exportation d'une API REST à l'aide de la console API Gateway

Spécifiez un type de spécification d'API, un format et des extensions pour télécharger la définition OpenAPI de votre API.