API de calculatrice simple dans API Gateway - 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.

API de calculatrice simple dans API Gateway

Notre API de calculatrice simple expose trois méthodes (GET, POST, GET) pour appeler la fonction Fonction Lambda de calculatrice simple. Une représentation graphique de cette API se présente comme suit :

API de calculatrice simple pour le kit SDK généré

Ces trois méthodes décrivent les différentes façons de fournir l'entrée à la fonction Lambda backend pour qu'elle effectue la même opération :

  • La méthode GET /?a=...&b=...&op=... utilise les paramètres de requête pour spécifier l'entrée.

  • La méthode POST / utilise une charge utile JSON {"a":"Number", "b":"Number", "op":"string"} pour spécifier l'entrée.

  • La méthode GET /{a}/{b}/{op} utilise les paramètres de chemin pour spécifier l'entrée.

Si celle-ci n'est pas définie, API Gateway génère le nom de méthode du kit SDK correspondant en combinant les parties de la méthode et du chemin d'accès HTTP. La partie du chemin d'accès racine (/) est appelé Api Root. Par exemple, le nom de la méthode du kit SDK Java par défaut pour la méthode d'API de GET /?a=...&b=...&op=... est getABOp, le nom de la méthode du kit SDK par défaut de POST / est postApiRoot, et le nom de la méthode du kit SDK par défaut de GET /{a}/{b}/{op} est getABOp. Des kits SDK individuels peuvent personnaliser la convention. Consultez la documentation dans la source du kit SDK généré pour connaître les noms de méthode spécifiques aux kits SDK.

Vous pouvez, et devez, remplacer les noms de méthode du kit SDK par défaut en définissant la propriété operationName sur chaque méthode de l'API. Vous pouvez le faire lors de la création de la méthode d'API ou de la mise à jour de la méthode d'API à l'aide de l'API REST API Gateway. Dans la définition Swagger d'API, vous pouvez définir operationId pour obtenir le même résultat.

Avant de montrer comment appeler ces méthodes à l'aide d'un kit SDK généré par API Gateway pour cette API, rappelons rapidement comment les configurer. Pour obtenir des instructions complètes, veuillez consulter Développez REST APIs dans API Gateway. Si vous débutez avec API Gateway, veuillez d'abord consulter Choisissez un didacticiel AWS Lambda d'intégration.

Création des modèles d'entrée et de sortie

Pour spécifier une entrée fortement typée dans le kit SDK, nous créons un modèle Input pour l’API : Pour décrire le type de données du corps de la réponse, nous créons un modèle Output et un modèle Result.

Pour créer des modèles pour l’entrée, la sortie et le résultat
  1. Dans le volet de navigation principal, choisissez Modèles.

  2. Sélectionnez Create model.

  3. Pour Name (Nom), saisissez input.

  4. Pour Type de contenu, entrez application/json.

    Si aucun type de contenu correspondant n'est trouvé, la validation de demande n'est pas effectuée. Pour utiliser le même modèle quel que soit le type de contenu, saisissez $default.

  5. Pour Schéma du modèle, saisissez le modèle qui suit :

    { "$schema" : "$schema": "http://json-schema.org/draft-04/schema#", "type":"object", "properties":{ "a":{"type":"number"}, "b":{"type":"number"}, "op":{"type":"string"} }, "title":"Input" }
  6. Sélectionnez Create model.

  7. Répétez les étapes suivantes pour créer un modèle Output et un modèle Result.

    Pour le modèle Output, saisissez ce qui suit pour Schéma du modèle :

    { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "c": {"type":"number"} }, "title": "Output" }

    Pour le modèle Result, saisissez ce qui suit pour Schéma du modèle : Remplacez l’ID d’API abc123 par votre ID d’API.

    { "$schema": "http://json-schema.org/draft-04/schema#", "type":"object", "properties":{ "input":{ "$ref":"https://apigateway.amazonaws.com/restapis/abc123/models/Input" }, "output":{ "$ref":"https://apigateway.amazonaws.com/restapis/abc123/models/Output" } }, "title":"Result" }

Configuration des paramètres de requête de la méthode GET /

Pour la méthode GET /?a=..&b=..&op=.., les paramètres de requête sont déclarés dans Method Request :

Pour configurer les paramètres de chaîne de requête GET / URL
  1. Dans la section Requête de méthode pour la méthode GET sur la ressource racine (/), choisissez Modifier.

  2. Choisissez Paramètres de chaîne de requête d'URL et procédez comme suit :

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

    2. Pour Name (Nom), saisissez a.

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

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

    Répétez les mêmes étapes et créez une chaîne de requête nommée b et une chaîne de requête nommée op.

  3. Choisissez Enregistrer.

Configuration du modèle de données pour la charge utile en tant qu'entrée du backend

Pour la méthode POST /, nous créons le modèle Input et l'ajoutons à la méthode de demande pour définir la forme des données d'entrée.

Pour configurer le modèle de données pour la charge utile en tant qu’entrée du backend
  1. Dans la section Requête de méthode pour la méthode POST sur la ressource racine (/), choisissez Modifier.

  2. Choisissez Corps de la requête.

  3. Choisissez Add model.

  4. Pour Type de contenu, entrez application/json.

  5. Pour Modèle, sélectionnez Entrée.

  6. Choisissez Enregistrer.

Avec ce modèle, vos clients d'API peuvent appeler le kit SDK pour spécifier l'entrée en instanciant un objet Input. Sans ce modèle, vos clients devront créer un objet de dictionnaire pour représenter l'entrée JSON à la fonction Lambda.

Configuration du modèle de données pour la sortie Résultat depuis le backend

Pour les trois méthodes, nous créons le modèle Result et l'ajoutons à la Method Response de la méthode pour définir la forme de sortie renvoyée par la fonction Lambda.

Pour configurer le modèle de données pour la sortie Résultat depuis le backend
  1. Sélectionnez la ressource/{a}/{b}/{op}, puis choisissez la méthode GET.

  2. Dans l’onglet Méthode de réponse, sous Réponse 200, choisissez Modifier.

  3. Sous Corps de la réponse, choisissez Ajouter un modèle.

  4. Pour Type de contenu, entrez application/json.

  5. Pour Modèle, sélectionnez Résultat.

  6. Choisissez Enregistrer.

Avec ce modèle, vos clients d'API peuvent analyser une sortie positive par la lecture des propriétés d'un objet Result. Sans ce modèle, les clients devront créer un objet de dictionnaire pour représenter la sortie JSON.