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.
Une réponse de méthode d’API encapsule la sortie d’une demande de méthode d’API que le client recevra. Les données de sortie incluent un code de statut HTTP, 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 de proxy, API Gateway transfère automatiquement la réponse du backend par le biais de la réponse de méthode. Il n’est pas nécessaire de configurer la réponse de méthode d’API. Toutefois, avec l’intégration de proxy Lambda, la fonction Lambda doit renvoyer un résultat dans ce format de sortie pour qu’API Gateway puisse mapper avec succès la réponse d’intégration à une réponse de méthode.
Du point de vue de la programmation, la configuration de la réponse de la méthode revient à créer une MethodResponseressource d'API Gateway et à définir les propriétés de StatusCode, ResponseParameters et ResponseModels.
Lors de la définition des codes de statut pour une méthode d’API, vous devez en choisir par défaut pour gérer une réponse d’intégration quelconque de code de statut inattendu. 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 réponse 200
comme valeur 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 de statut de réponse de méthode, définissez la propriété statusCode
sur un code de statut HTTP. La put-method-responsecommande suivante crée une réponse de 200
méthode.
aws apigateway put-method-response \ --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 vers laquelle API Gateway mappe un paramètre de réponse d’intégration, en fonction des mappages prescrits dans la réponse d’intégration de la méthode d’API.
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 put-method-responsecommande suivante définit l'my-header
en-tête.
aws apigateway put-method-response \ --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. La configuration d’un modèle de réponse de méthode est nécessaire lorsque vous générez un kit SDK fortement typé pour l’API. 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.
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
. La commande create-model suivante crée un PetStorePet
modèle pour décrire le corps de la réponse à la demande de GET /pets/{petId}
méthode.
aws apigateway create-model \ --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 ressource API Gateway Model
.
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 requestModels
carte des ressources. MethodResponse
La put-method-responsecommande suivante crée une méthode de réponse qui utilise un modèle de réponse pour définir le format de charge utile :
aws apigateway put-method-response \ --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"}'