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 statusCode
proprié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-header
en-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 Model
ressource 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 requestModels
carte 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.