Configurer une méthode de réponse 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.

Configurer une méthode de réponse dans API Gateway

Une réponse de API méthode encapsule le résultat d'une demande de API méthode que le client recevra. Les données de sortie incluent un code d'HTTPétat, certains en-têtes et éventuellement un corps.

Avec les intégrations autres que de proxy, les paramètres et le corps de réponse spécifiés peuvent être mappés à partir des données de la réponse d'intégration associés ou se voir attribuer certaines valeurs statiques en fonction des mappages. Ces mappages sont spécifiés dans la réponse d'intégration. Le mappage peut être une transformation identique qui transfère la réponse d'intégration telle quelle.

Avec une intégration par proxy, API Gateway transmet automatiquement la réponse du backend à la réponse de méthode. Il n'est pas nécessaire de configurer la API méthode de réponse. Cependant, avec l'intégration du proxy Lambda, la fonction Lambda doit renvoyer un résultat de ce format de sortie pour que API Gateway puisse correctement mapper la réponse d'intégration à une réponse de méthode.

D'un point de vue programmatique, la configuration de la réponse de la méthode revient à créer une MethodResponseressource de API Gateway et à définir les propriétés de statusCoderesponseParameters, et. responseModels

Lorsque vous définissez des codes d'état pour une API méthode, vous devez en choisir un par défaut pour gérer toute réponse d'intégration d'un code de statut imprévu. Il est possible de définir 500 comme valeur par défaut, car cela revient à lancer des réponses non mappées comme une erreur côté serveur. Pour des raisons pédagogiques, la console API Gateway définit la 200 réponse par défaut. Mais vous pouvez réinitialiser cette valeur sur la réponse 500.

Pour configurer une réponse de méthode, vous devez avoir créé la demande de méthode.

Configuration du code de statut de réponse de méthode

Le code de statut d'une réponse de méthode définit un type de réponse. Par exemple, les réponses de 200, 400 et 500 indiquent des réponses positives, d'erreur côté client et d'erreur côté serveur, respectivement.

Pour configurer un code d'état de réponse de méthode, attribuez à la statusCodepropriété un code d'HTTPétat. La commande d' AWS CLI suivante crée une méthode de réponse de 200.

aws apigateway put-method-response \ --region us-west-2 \ --rest-api-id vaz7da96z6 \ --resource-id 6sxz2j \ --http-method GET \ --status-code 200

Configuration des paramètres de réponse de méthode

Les paramètres de méthode de réponse définissent les en-têtes que le client reçoit en réponse à la demande de méthode associée. Les paramètres de réponse spécifient également une cible à laquelle API Gateway mappe un paramètre de réponse d'intégration, conformément aux mappages prescrits dans la réponse d'intégration de la API méthode.

Pour configurer les paramètres de réponse de la méthode, ajoutez au mappage responseParameters des paires clé/valeur MethodResponse au format "{parameter-name}":"{boolean}". La CLI commande suivante montre un exemple de définition de l'my-headeren-tête.

aws apigateway put-method-response \ --region us-west-2 \ --rest-api-id vaz7da96z6 \ --resource-id 6sxz2j \ --http-method GET \ --status-code 200 \ --response-parameters method.response.header.my-header=false

Configuration des modèles de réponse de méthode

Un modèle de réponse de méthode définit un format pour le corps de la réponse de méthode. Avant de configurer le modèle de réponse, vous devez d'abord créer le modèle dans API Gateway. Pour cela, vous pouvez appeler la commande create-model. L'exemple suivant montre comment créer un modèle PetStorePet pour décrire le corps de la réponse dans la demande de méthode GET /pets/{petId}.

aws apigateway create-model \ --region us-west-2 \ --rest-api-id vaz7da96z6 \ --content-type application/json \ --name PetStorePet \ --schema '{ \ "$schema": "http://json-schema.org/draft-04/schema#", \ "title": "PetStorePet", \ "type": "object", \ "properties": { \ "id": { "type": "number" }, \ "type": { "type": "string" }, \ "price": { "type": "number" } \ } \ }'

Le résultat est créé en tant que Modelressource de API passerelle.

Pour configurer les modèles de réponse de méthode afin de définir le format de charge utile, ajoutez la paire clé-valeur « application/json » : » PetStorePet "à la requestModelscarte des ressources. MethodResponse La AWS CLI commande suivante put-method-response montre comment procéder :

aws apigateway put-method-response \ --region us-west-2 \ --rest-api-id vaz7da96z6 \ --resource-id 6sxz2j \ --http-method GET \ --status-code 200 \ --response-parameters method.response.header.my-header=false \ --response-models '{"application/json":"PetStorePet"}'

La configuration d'un modèle de réponse de méthode est nécessaire lorsque vous générez un type fortement typé SDK pour leAPI. Cela garantit que la sortie est lancée dans une classe correspondante dans Java ou Objective-C. Dans d'autres cas, la configuration d'un modèle est facultative.