

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.

# Didacticiel : création d’une API REST par l’importation d’un exemple
<a name="api-gateway-create-api-from-example"></a>

Vous pouvez utiliser la console Amazon API Gateway pour créer et tester une API REST simple avec intégration HTTP pour un PetStore site Web. La définition d’API est préconfigurée comme fichier OpenAPI 2.0. Après le chargement de la définition d’API dans API Gateway, vous pouvez utiliser la console API Gateway pour examiner la structure de base de l’API ou simplement déployer et tester l’API. 

 L' PetStore exemple d'API prend en charge les méthodes suivantes permettant à un client d'accéder au site Web principal HTTP de`http://petstore-demo-endpoint.execute-api.com/petstore/pets`. 

**Note**  
Ce didacticiel utilise un point de terminaison HTTP comme exemple. Lorsque vous créez le vôtre APIs, nous vous recommandons d'utiliser des points de terminaison HTTPS pour vos intégrations HTTP.
+ `GET /` : pour l’accès en lecture de la ressource racine de l’API qui n’est pas intégrée avec un point de terminaison du serveur principal. API Gateway répond par un aperçu du PetStore site Web. Il s'agit d'un exemple du type d'intégration `MOCK`.
+ `GET /pets` : pour l’accès en lecture de la ressource `/pets` de l’API intégrée avec la ressource `/pets` du serveur principal de même nom. Le backend renvoie une page des animaux de compagnie disponibles dans le PetStore. Il s'agit d'un exemple du type d'intégration `HTTP`. L’URL du point de terminaison de l’intégration est `http://petstore-demo-endpoint.execute-api.com/petstore/pets`.
+ `POST /pets` : pour l’accès en écriture de la ressource `/pets` de l’API intégrée avec la ressource `/petstore/pets` du serveur principal. Dès réception d'une demande correcte, le backend ajoute l'animal spécifié au PetStore et renvoie le résultat à l'appelant. Il s’agit aussi d’une intégration `HTTP`.
+ `GET /pets/{petId}` : pour l’accès en lecture à un animal identifié par une valeur `petId` telle que spécifiée comme variable du chemin d’accès de l’URL de la demande entrante. Cette méthode possède également le type d’intégration `HTTP`. Le backend renvoie l'animal de compagnie spécifié trouvé dans le PetStore. L’URL du point de terminaison HTTP du serveur principal est `http://petstore-demo-endpoint.execute-api.com/petstore/pets/n`, où `n` désigne un nombre entier comme identifiant de l’animal recherché.

 L’API prend en charge l’accès CORS via les méthodes `OPTIONS` du type d’intégration `MOCK`. API Gateway renvoie les en-têtes requis prenant en charge l’accès CORS. 

La procédure suivante vous guide à travers les étapes de création et de test d’une API à partir d’un exemple à l’aide de la console API Gateway.

**Pour importer, créer et tester l’exemple d’API**

1. Connectez-vous à la console API Gateway à l'adresse [https://console.aws.amazon.com/apigateway.](https://console.aws.amazon.com/apigateway)

1. Effectuez l’une des actions suivantes :
   + Pour créer votre première API, pour **API REST**, choisissez **Création**.
   + Si vous avez déjà créé une API, choisissez **Créer une API**, puis **Création** pour **API REST**.

1.  Sous **Créer une API REST**, choisissez **Exemple d’API**, puis **Créer une API** pour créer l’exemple d’API. 

      
![\[Exemple d’API REST dans la console API Gateway.\]](http://docs.aws.amazon.com/fr_fr/apigateway/latest/developerguide/images/api-gateway-create-api-by-importing-example-new-console.png)

    Vous pouvez faire défiler la définition OpenAPI vers le bas pour voir les détails de cet exemple d’API avant de choisir **Créer une API**. 

1. Dans le volet de navigation principal, choisissez **Ressources**. L’API nouvellement créée est affichée comme suit :

      
![\[Exemple d’API après son importation dans la console API Gateway.\]](http://docs.aws.amazon.com/fr_fr/apigateway/latest/developerguide/images/api-gateway-create-api-by-importing-example-result-new-console.png)

    Le volet **Resources** illustre la structure de l’API créée sous la forme d’une arborescence de nœuds. Les méthodes d’API définies sur chaque ressource sont les arêtes de l’arborescence. Lorsqu’une ressource est sélectionnée, toutes ses méthodes sont répertoriées dans la table **Méthodes** de droite. Le type de méthode, le type d’intégration, le type d’autorisation et la clé d’API requise sont affichés avec chaque méthode. 

1.  Pour afficher les détails d’une méthode, modifier sa configuration ou tester l’appel de cette méthode, sélectionnez le nom de la méthode dans la liste des méthodes ou dans l’arborescence des ressources. Ici, nous avons choisi la méthode `POST /pets` comme illustration : 

      
![\[Méthode POST /pets pour l’exemple d’API dans la console API Gateway.\]](http://docs.aws.amazon.com/fr_fr/apigateway/latest/developerguide/images/api-gateway-create-api-by-importing-example-post-method-execution-new-console.png)

    Le volet **Exécution de la méthode** qui en résulte présente une vue logique de la structure et des comportements de la méthode choisie (`POST /pets`).

   **Demande de méthode** et **Réponse de méthode** représentent l’interface de l’API avec le frontend, et **Demande d’intégration** et **Réponse d’intégration** représentent l’interface de l’API avec le backend.

    Un client utilise l’API pour accéder à une fonctionnalité backend via **Demande de méthode**. Si nécessaire, API Gateway convertit la demande du client au format acceptable pour le backend dans **Demande d’intégration** avant de la transférer vers ce backend. La demande transformée est connue en tant que demande d’intégration. De même, le backend renvoie la réponse à API Gateway dans **Réponse d’intégration**. Ensuite, API Gateway l’achemine vers **Method Response (Réponse de méthode)** avant de l’envoyer au client. Là encore, si nécessaire, API Gateway peut mapper les données de réponse du backend au format attendu par le client. 

    Pour la méthode `POST` sur une ressource d’API, la charge utile de la demande de méthode peut être transmise via la demande d’intégration sans modification, si la charge utile de la demande de méthode est au même format que charge utile de la demande d’intégration. 

   La demande de méthode `GET /` utilise le type d’intégration `MOCK` et n’est liée à aucun point de terminaison du serveur principal réel. La **Réponse d’intégration** correspondante est configurée pour renvoyer une page HTML statique. Lorsque la méthode est appelée, API Gateway accepte simplement la demande et renvoie immédiatement la réponse d’intégration configurée au client via **Réponse de méthode**. Vous pouvez utiliser l’intégration simulée pour tester une API sans avoir besoin d’un point de terminaison sur le serveur principal. Vous pouvez également l’utiliser pour servir une réponse locale, générée à partir d’un modèle de mappage de corps de réponse. 

   En tant que développeur d’API, vous contrôlez les comportements des interactions frontales de votre API en configurant la demande de méthode et une réponse de méthode. Vous contrôlez les comportements des interactions principales de votre API en configurant la demande d’intégration et la réponse d’intégration. Cela implique des mappages de données entre une méthode et l’intégration correspondante. Pour le moment, nous nous concentrons sur le test de l'API afin d'offrir une expérience end-to-end utilisateur. 

1.  Sélectionnez l’onglet **Test**. Vous devrez peut-être choisir la flèche droite pour afficher l'onglet. 

1.  Par exemple, pour tester la méthode `POST /pets`, entrez la charge utile **\$1"type": "dog","price": 249.99\$1** suivante dans **Corps de la demande** avant de choisir **Test**.

      
![\[Test de la méthode POST dans la console API Gateway.\]](http://docs.aws.amazon.com/fr_fr/apigateway/latest/developerguide/images/api-gateway-create-api-by-importing-example-post-method-test-new-console.png)

    L'entrée indique les attributs de l'animal que nous voulons ajouter à la liste des animaux de compagnie sur le PetStore site Web. 

1. Les résultats s’affichent comme suit :

      
![\[Résultat du test de la méthode POST dans la console API Gateway.\]](http://docs.aws.amazon.com/fr_fr/apigateway/latest/developerguide/images/api-gateway-create-api-by-importing-example-post-method-test-result-new-console.png)

    L’entrée **Journal** de la sortie indique les changements d’état entre la demande de la méthode et la demande d’intégration, et entre la réponse d’intégration et la réponse de la méthode. Cela peut être utile pour résoudre les éventuelles erreurs de mappage susceptibles d’entraîner l’échec de la demande. Dans cet exemple, aucun mappage n’est appliqué : la charge utile de la demande de méthode charge est transmise via la demande d’intégration au serveur principal et, de même la réponse du serveur principal est transmise via la réponse d’intégration à la réponse de la méthode. 

    Pour tester l'API à l'aide d'un client autre que la test-invoke-request fonctionnalité API Gateway, vous devez d'abord déployer l'API sur une étape. 

1.  Pour déployer l’exemple d’API jusqu’à une étape, choisissez **Déployer l’API**. 

      
![\[Utilisation du bouton Déployer pour déployer votre API afin que les appelants d’API puissent invoquer votre API.\]](http://docs.aws.amazon.com/fr_fr/apigateway/latest/developerguide/images/api-gateway-create-api-by-importing-example-deploy-api-new-console.png)

1. Pour **Étape**, sélectionnez **Nouvelle étape**, puis entrez **test**.

1. (Facultatif) Sous **Description**, entrez une description.

1. Choisissez **Déployer**.

1.  Dans le volet **Étapes** qui s’affiche, sous **Détails de l’étape**, **Appeler une URL** affiche l’URL permettant d’invoquer la demande de méthode `GET /` de l’API.   
![\[Une fois que vous avez créé votre API REST, la console affiche l’URL d’invocation de votre API.\]](http://docs.aws.amazon.com/fr_fr/apigateway/latest/developerguide/images/getting-started-rest-invoke-url.png)

1. Choisissez l’icône de copie pour copier l’URL d’invocation de votre API, puis saisissez l’URL d’invocation de votre API dans un navigateur Web. Une réponse positive renvoie le résultat, généré à partir du modèle de mappage dans la réponse d’intégration. 

1.  Dans le panneau de navigation **Stages** (Étapes), développez l’étape **test**, sélectionnez **GET** sur `/pets/{petId}`, puis copiez la valeur du champ **Invoke URL** (Appeler une URL) de `https://api-id.execute-api.region.amazonaws.com/test/pets/{petId}`. `{petId}` représente une variable du chemin d’accès. 

    Collez la valeur du champ **Invoke URL** (obtenue à l’étape précédente) dans la barre d’adresse d’un navigateur, en remplaçant `{petId}` par `1`, par exemple, puis appuyez sur Entrée pour envoyer la demande. Une réponse 200 OK doit être renvoyée avec la charge utile JSON suivante : 

   ```
   {
     "id": 1,
     "type": "dog",
     "price": 249.99
   }
   ```

    L’appel de la méthode d’API de cette façon est possible, car le type d’autorisation défini dans le champ **Authorization** est `NONE`. Si l’autorisation `AWS_IAM` était utilisée, vous signeriez la demande à l’aide du protocole [Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html) (SigV4) ou [Signature Version 4a](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html#how-sigv4a-works) (SigV4a). Pour voir un exemple de ce type de demande, consultez [Didacticiel : création d’une API REST avec une intégration HTTP sans proxy](api-gateway-create-api-step-by-step.md). 