Comportement des demandes de méthode pour les charges utiles sans modèles de mappage pour REST APIs dans API Gateway - Amazon API Gateway

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.

Comportement des demandes de méthode pour les charges utiles sans modèles de mappage pour REST APIs dans API Gateway

Si votre demande de méthode comporte des données utiles et qu’aucun modèle de mappage n’est défini pour l’en-tête Content-Type, vous pouvez choisir de transmettre les données utiles de la demande fournie par le client au backend par l’intermédiaire de la demande d’intégration, sans recourir à une transformation. Ce processus est appelé transfert direct d’intégration.

Le comportement de transmission d’une demande entrante est déterminé par ce paramètre. Trois options sont disponibles :

Quand aucun modèle ne correspond à l’en-tête Content-Type de la demande

Sélectionnez cette option si vous voulez que le corps de la demande de méthode soit transmis au backend via la demande d’intégration sans transformation lorsque le type de contenu de la demande de méthode ne correspond à aucun type de contenu associé aux modèles de mappage.

Lorsque vous appelez l’API API Gateway, vous choisissez cette option en définissant WHEN_NO_MATCH en tant que valeur de la propriété passthroughBehavior sur Intégration.

Quand aucun modèle n’est défini (recommandé)

Choisissez cette option si vous voulez que le corps de la demande de méthode soit transmis au backend via la demande d’intégration sans transformation lorsqu’aucun modèle de mappage n’est défini dans la demande d’intégration. Si un modèle est défini lorsque cette option est sélectionnée, la demande de méthode comprenant des données utiles et un type de contenu qui ne correspond pas au modèle de mappage défini sera rejetée avec une réponse HTTP 415 Unsupported Media Type.

Lorsque vous appelez l’API API Gateway, vous choisissez cette option en définissant WHEN_NO_TEMPLATES en tant que valeur de la propriété passthroughBehavior sur Intégration.

Jamais

Choisissez cette option si vous ne voulez pas que le corps de la demande de méthode soit transmis au backend via la demande d’intégration sans transformation lorsqu’aucun modèle de mappage n’est défini dans la demande d’intégration. Si un modèle est défini lorsque cette option est sélectionnée, la demande de méthode d’un type de contenu non mappé est rejetée en renvoyant une réponse HTTP 415 Type de support non pris en charge.

Lorsque vous appelez l’API API Gateway, vous choisissez cette option en définissant NEVER en tant que valeur de la propriété passthroughBehavior sur Intégration.

Les exemples suivants illustrent les comportements de transmission possibles.

Exemple 1 : un modèle de mappage est défini dans la demande d’intégration pour le type de contenu application/json.

Content-Type Option de transmission Attitude

Aucune

La valeur par défaut d’API Gateway est application/json

WHEN_NO_MATCH La charge utile de la demande est transformée à l’aide du modèle.

Aucune

La valeur par défaut d’API Gateway est application/json

WHEN_NO_TEMPLATES La charge utile de la demande est transformée à l’aide du modèle.

Aucune

La valeur par défaut d’API Gateway est application/json

NEVER La charge utile de la demande est transformée à l’aide du modèle.
application/json WHEN_NO_MATCH La charge utile de la demande est transformée à l’aide du modèle.
application/json WHEN_NO_TEMPLATES La charge utile de la demande est transformée à l’aide du modèle.
application/json NEVER La charge utile de la demande est transformée à l’aide du modèle.
application/xml WHEN_NO_MATCH La charge utile de la demande n’est pas transformée et est envoyée en l’état au backend.
application/xml WHEN_NO_TEMPLATES La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type.
application/xml NEVER La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type.

Exemple 2 : un modèle de mappage est défini dans la demande d’intégration pour le type de contenu application/xml.

Content-Type Option de transmission Attitude

Aucune

La valeur par défaut d’API Gateway est application/json

WHEN_NO_MATCH La charge utile de la demande n’est pas transformée et est envoyée en l’état au backend.

Aucune

La valeur par défaut d’API Gateway est application/json

WHEN_NO_TEMPLATES La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type.

Aucune

La valeur par défaut d’API Gateway est application/json

NEVER La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type.
application/json WHEN_NO_MATCH La charge utile de la demande n’est pas transformée et est envoyée en l’état au backend.
application/json WHEN_NO_TEMPLATES La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type.
application/json NEVER La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type.
application/xml WHEN_NO_MATCH La charge utile de la demande est transformée à l’aide du modèle.
application/xml WHEN_NO_TEMPLATES La charge utile de la demande est transformée à l’aide du modèle.
application/xml NEVER La charge utile de la demande est transformée à l’aide du modèle.

Exemple 3 : aucun modèle de mappage n’est défini dans la demande d’intégration.

Content-Type Option de transmission Attitude

Aucune

La valeur par défaut d’API Gateway est application/json

WHEN_NO_MATCH La charge utile de la demande n’est pas transformée et est envoyée en l’état au backend.

Aucune

La valeur par défaut d’API Gateway est application/json

WHEN_NO_TEMPLATES La charge utile de la demande n’est pas transformée et est envoyée en l’état au backend.

Aucune

La valeur par défaut d’API Gateway est application/json

NEVER La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type.
application/json WHEN_NO_MATCH La charge utile de la demande n’est pas transformée et est envoyée en l’état au backend.
application/json WHEN_NO_TEMPLATES La charge utile de la demande n’est pas transformée et est envoyée en l’état au backend.
application/json NEVER La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type.
application/xml WHEN_NO_MATCH La charge utile de la demande n’est pas transformée et est envoyée en l’état au backend.
application/xml WHEN_NO_TEMPLATES La charge utile de la demande n’est pas transformée et est envoyée en l’état au backend.
application/xml NEVER La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type.