

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
<a name="api-gateway-export-api"></a>

 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) du *Guide de l'utilisateur IAM*. Des options vous permettent d’inclure les extensions d’intégration API Gateway, ainsi que les extensions [Postman](https://www.postman.com) 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-validator`extension 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
<a name="api-gateway-export-api-request"></a>

 Avec l'API d'exportation, vous exportez une API REST existante en soumettant une requête GET, en spécifiant l' to-be-exportedAPI 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](https://docs.aws.amazon.com/apigateway/latest/api/API_GetExport.html). 

**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 JSONSchema type particulier. 

## Téléchargement d’une définition OpenAPI d’API REST au format JSON
<a name="api-gateway-export-api-download-swagger-json"></a>

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 connaître toutes les régions où API Gateway est disponible, consultez [Régions et points de terminaison](https://docs.aws.amazon.com/general/latest/gr/rande.html#apigateway_region). 

## Téléchargement d’une définition OpenAPI d’API REST au format YAML
<a name="api-gateway-export-api-download-swagger-yaml"></a>

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
<a name="api-gateway-export-api-download-swagger-json-with-postman"></a>

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
<a name="api-gateway-export-api-download-swagger-yaml-with-apig"></a>

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
<a name="api-gateway-export-api-from-console"></a>

Après [avoir déployé votre API REST dans une étape](set-up-deployments.md#create-deployment), vous pouvez passer à l’exportation de cette API dans 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\]](http://docs.aws.amazon.com/fr_fr/apigateway/latest/developerguide/images/export-new-console.png)


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. 