Tutoriel : créer un REST API avec une HTTP intégration sans proxy - APIPasserelle Amazon

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.

Tutoriel : créer un REST API avec une HTTP intégration sans proxy

Dans ce didacticiel, vous allez créer un API à partir de zéro à l'aide de la console Amazon API Gateway. Vous pouvez considérer la console comme un studio de API design et l'utiliser pour définir les API fonctionnalités, expérimenter ses comportements, créer et déployer la API vôtre API par étapes.

Créez un API avec une intégration HTTP personnalisée

Cette section explique les étapes permettant de créer des ressources, d'exposer des méthodes sur une ressource, de configurer une méthode pour obtenir les API comportements souhaités, ainsi que de tester et de déployer lesAPI.

Au cours de cette étape, vous allez créer un champ videAPI. Dans les étapes suivantes, vous créez des ressources et des méthodes pour vous connecter au point de http://petstore-demo-endpoint.execute-api.com/petstore/pets terminaison, API à l'aide d'une HTTP intégration sans proxy.

Pour créer un API
  1. Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway.

  2. Si c'est la première fois que vous utilisez API Gateway, une page vous présentant les fonctionnalités du service s'affiche. Sous RESTAPI, choisissez Build. Lorsque la API fenêtre contextuelle Create Example apparaît, cliquez sur OK.

    Si ce n'est pas la première fois que vous utilisez API Gateway, choisissez Create API. Sous RESTAPI, choisissez Build.

  3. Pour APIle nom, entrezHTTPNonProxyAPI.

  4. (Facultatif) Sous Description, entrez une description.

  5. Conservez le type de API point de terminaison défini sur Régional.

  6. Choisissez Create API.

L'arborescence Resources affiche la ressource racine (/) sans aucune méthode. Dans cet exercice, nous allons créer le API avec l'intégration HTTP personnalisée du PetStore site Web (http ://petstore-demo-endpoint.execute-api.com/petstore/pets.) À des fins d'illustration, nous allons créer une /pets ressource en tant qu'enfant de la racine et exposer une GET méthode sur cette ressource permettant à un client de récupérer une liste des articles Pets disponibles sur le PetStore site Web.

Pour créer une ressource /pets
  1. Choisissez Créer une ressource.

  2. Maintenez Ressource proxy désactivée.

  3. Conservez Chemin de la ressource sous la forme /.

  4. Sous Resource Name (Nom de la ressource), entrez pets.

  5. Maintenez CORS(Cross Origin Resource Sharing) désactivé.

  6. Choisissez Créer une ressource.

Dans cette étape, vous créez une méthode GET pour la ressource /pets. La méthode GET est intégrée au site web http://petstore-demo-endpoint.execute-api.com/petstore/pets. Les autres options d'une API méthode sont les suivantes :

  • POST, principalement utilisé pour créer des ressources pour les enfants.

  • PUT, principalement utilisé pour mettre à jour les ressources existantes (et, bien que cela ne soit pas recommandé, peut être utilisé pour créer des ressources pour enfants).

  • DELETE, utilisée pour supprimer des ressources.

  • PATCH, utilisée pour mettre à jour les ressources.

  • HEAD, principalement utilisé dans les scénarios de test. Elle est identique à la représentation de la ressourceGET, mais elle ne renvoie pas celle-ci.

  • OPTIONS, qui peut être utilisé par les appelants pour obtenir des informations sur les options de communication disponibles pour le service cible.

Pour la HTTPméthode de la demande d'intégration, vous devez en choisir une prise en charge par le backend. Pour HTTP ouMock integration, il est logique que la demande de méthode et la demande d'intégration utilisent le même HTTP verbe. Pour les autres types d'intégration, la demande de méthode utilisera probablement un HTTP verbe différent de la demande d'intégration. Par exemple, pour appeler une fonction Lambda, la demande d'intégration doit être utilisée POST pour invoquer la fonction, tandis que la demande de méthode peut utiliser n'importe quel HTTP verbe en fonction de la logique de la fonction Lambda.

Pour créer une méthode GET dans la ressource /pets
  1. Sélectionnez la ressource /pets.

  2. Choisissez Créer une méthode.

  3. Pour Type de méthode, sélectionnez GET.

  4. Pour Type d'intégration, sélectionnez HTTPintégration.

  5. Maintenez l'intégration du HTTP proxy désactivée.

  6. Pour la HTTPméthode, sélectionnez GET.

  7. Pour Endpoint URL, entrezhttp://petstore-demo-endpoint.execute-api.com/petstore/pets.

    Le PetStore site Web vous permet de récupérer une liste d'Petarticles par type d'animal de compagnie, comme « chien » ou « chat », sur une page donnée.

  8. Pour Gestion de contenu, sélectionnez Transmettre.

  9. Choisissez les paramètres de la chaîne de URL requête.

    Le PetStore site Web utilise les paramètres de chaîne de page requête type et pour accepter une entrée. Vous ajoutez des paramètres de chaîne de requête à la demande de méthode et vous les mappez dans les paramètres de chaîne de requête correspondants de la demande d'intégration.

  10. Pour ajouter les paramètres de chaîne de requête, procédez comme suit :

    1. Sélectionnez Add query string (Ajouter une chaîne de requêtes).

    2. Pour Nom, saisissez type

    3. Gardez Obligatoire et Mise en cache désactivés.

    Répétez les étapes précédentes pour créer une chaîne de requête supplémentaire avec le nom page.

  11. Choisissez Créer une méthode.

Le client peut désormais fournir un type d'animal et un numéro de page comme paramètres de chaîne de requête lorsqu'il envoie une demande. Ces paramètres d'entrée doivent être mappés dans les paramètres de chaîne de requête de l'intégration pour transmettre les valeurs d'entrée à notre PetStore site Web dans le backend.

Pour mapper les paramètres d’entrée à la requête d’intégration
  1. Dans l’onglet Requête d’intégration, sous Paramètres de requête d’intégration, choisissez Modifier.

  2. Choisissez les paramètres de la chaîne de URL requête, puis procédez comme suit :

    1. Choisissez Ajouter un paramètre de chaîne de requête d’URL.

    2. Pour Name (Nom), saisissez type.

    3. Pour Mappage à partir de, saisissez method.request.querystring.type.

    4. Maintenez Mise en cache désactivée.

    5. Choisissez Ajouter un paramètre de chaîne de requête d’URL.

    6. Pour Name (Nom), saisissez page.

    7. Pour Mappage à partir de, saisissez method.request.querystring.page.

    8. Maintenez Mise en cache désactivée.

  3. Choisissez Enregistrer.

Pour tester le API
  1. Choisissez l’onglet Test. Vous devrez peut-être choisir la flèche droite pour afficher l'onglet.

  2. Pour Chaînes de requête, saisissez type=Dog&page=2.

  3. Sélectionnez Tester).

    Le résultat est similaire à ce qui suit :

    Résultat de la méthode Test-Invoke GET on pets

    Maintenant que le test est réussi, nous pouvons le déployer API pour le rendre public.

  4. Choisissez DeployAPI (Déployer).

  5. Pour Étape, sélectionnez Nouvelle étape.

  6. Sous Stage name (Nom de l'étape), entrez Prod.

  7. (Facultatif) Sous Description, entrez une description.

  8. Choisissez Deploy (Déployer).

  9. (Facultatif) Sous Détails de l'étapeURL, pour Invoke, vous pouvez choisir l'icône de copie pour copier votre API appelURL. Vous pouvez l'utiliser avec des outils tels que Postman et c URL pour tester votreAPI.

Si vous utilisez an SDK pour créer un client, vous pouvez appeler les méthodes exposées par le SDK pour signer la demande. Pour les détails de mise en œuvre, consultez celui AWS SDKde votre choix.

Note

Lorsque des modifications sont apportées à votreAPI, vous devez le redéployer API pour que les fonctionnalités nouvelles ou mises à jour soient disponibles avant d'appeler à nouveau la demandeURL.

(Facultatif) Mapper les paramètres de requête.

Paramètres de demande de mappage pour une API passerelle API

Ce didacticiel explique comment créer un paramètre de {petId} chemin ou une requête API de méthode URL pour spécifier un ID d'élément, le mapper au paramètre de {id} chemin de la demande URL d'intégration et envoyer la demande au point de HTTP terminaison.

Note

La saisie d’une lettre majuscule (ou vice versa) peut entraîner des erreurs ultérieurement dans la procédure.

Étape 1 : Créer des ressources

Au cours de cette étape, vous créez une ressource avec un paramètre de chemin {petId}.

Pour créer la ressource {petId}
  1. Sélectionnez la ressource /pets, puis choisissez Créer une ressource.

  2. Maintenez Ressource proxy désactivée.

  3. Pour Chemin de ressource, sélectionnez /pets/.

  4. Sous Resource Name (Nom de la ressource), entrez {petId}.

    Utilisez les bretelles ({ }) petId pour afficher /pets/ {} petId.

  5. Maintenez CORS(Cross Origin Resource Sharing) désactivé.

  6. Choisissez Créer une ressource.

Étape 2 : Créer et tester les méthodes

Au cours de cette étape, vous créez une méthode GET avec un paramètre de chemin {petId}.

Pour configurer la GET méthode
  1. Sélectionnez la ressource/{petId}, puis choisissez Create method.

  2. Pour Type de méthode, sélectionnez GET.

  3. Pour Type d'intégration, sélectionnez HTTPintégration.

  4. Maintenez l'intégration du HTTP proxy désactivée.

  5. Pour la HTTPméthode, sélectionnez GET.

  6. Pour Endpoint URL, entrez http://petstore-demo-endpoint.execute-api.com/petstore/pets/{id}

  7. Pour Gestion de contenu, sélectionnez Transmettre.

  8. Maintenez Délai d’expiration par défaut activé.

  9. Choisissez Créer une méthode.

Vous devez maintenant mapper le paramètre de {petId} chemin au paramètre de {id} chemin du HTTP point de terminaison.

Pour mapper le paramètre de chemin {petId}
  1. Dans l’onglet Requête d’intégration, sous Paramètres de requête d’intégration, choisissez Modifier.

  2. Choisissez les paramètres du URL chemin.

  3. APIGateway crée un paramètre de chemin pour la demande d'intégration nommée petId. Cela ne fonctionne pas pour votre backend. Le HTTP point de terminaison {id} est utilisé comme paramètre de chemin. Renommez petId en id.

    Cela mappe le paramètre de chemin petId de la demande de méthode au paramètre de chemin id de la demande d'intégration.

  4. Choisissez Enregistrer.

Maintenant, testez la méthode.

Pour tester la méthode 
  1. Choisissez l’onglet Test. Vous devrez peut-être choisir la flèche droite pour afficher l'onglet.

  2. Sous Path for petId, entrez4.

  3. Sélectionnez Test.

    Si le test aboutit, Corps de la réponse affiche les informations suivantes :

    { "id": 4, "type": "bird", "price": 999.99 }

Étape 3 : Déployez le API

Au cours de cette étape, vous déployez le API afin de pouvoir commencer à l'appeler en dehors de la console API Gateway.

Pour déployer l'API
  1. Choisissez DeployAPI (Déployer).

  2. Pour Étape, sélectionnez Prod.

  3. (Facultatif) Sous Description, entrez une description.

  4. Choisissez Deploy (Déployer).

Étape 4 : Tester la API

Au cours de cette étape, vous sortez de la console API Gateway et vous utilisez votre API pour accéder au HTTP point de terminaison.

  1. Dans le volet de navigation principal, choisissez Étape.

  2. Sous Détails de l'étape, cliquez sur l'icône de copie pour copier votre API appelURL.

    Elle doit se présenter comme suit :

    https://my-api-id.execute-api.region-id.amazonaws.com/prod
  3. Entrez-le URL dans la zone d'adresse d'un nouvel onglet du navigateur et /pets/4 ajoutez-le URL avant de soumettre votre demande.

  4. Le navigateur retourne ce qui suit :

    { "id": 4, "type": "bird", "price": 999.99 }

Étapes suivantes

Vous pouvez personnaliser davantage votre compte API en activant la validation des demandes, en transformant les données ou en créant des réponses de passerelle personnalisées.

Pour découvrir d'autres méthodes de personnalisationAPI, consultez les didacticiels suivants :