Comportements de transfert direct - 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.

Comportements de transfert direct

Avec des intégrations différentes de proxy, lorsqu'une demande de méthode comporte une charge utile et que l'en-tête Content-Type ne correspond à aucun modèle de mappage spécifié ou qu'aucun modèle de mappage n'est défini, vous pouvez choisir de transmettre la charge utile de la demande fournie par le client via la demande d'intégration au backend sans transformation. Ce processus est appelé transfert direct d'intégration.

Pour les intégrations de proxy, API Gateway transmet la totalité de la demande à votre backend sans que vous n'ayez la possibilité de modifier les comportements de transfert.

Le comportement de transfert direct réel d'une demande entrante est déterminé par l'option que vous choisissez pour un modèle de mappage spécifique pendant la configuration de la demande d'intégration et par l'en-tête Content-Type qu'un client définit dans la demande entrante. 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 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 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 transfert direct possibles.

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

En-tête Content-type\Option de transfert direct sélectionnée WHEN_NO_MATCH WHEN_NO_TEMPLATES NEVER
Aucun (la valeur par défaut est application/json) La charge utile de la demande est transformée à l'aide du modèle. La charge utile de la demande est transformée à l'aide du modèle. La charge utile de la demande est transformée à l'aide du modèle.
application/json La charge utile de la demande est transformée à l'aide du modèle. La charge utile de la demande est transformée à l'aide du modèle. La charge utile de la demande est transformée à l'aide du modèle.
application/xml La charge utile de la demande n'est pas transformée et est envoyée en l'état au backend. La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type. 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.

En-tête Content-type\Option de transfert direct sélectionnée WHEN_NO_MATCH WHEN_NO_TEMPLATES NEVER
Aucun (la valeur par défaut est application/json) La charge utile de la demande n'est pas transformée et est envoyée en l'état au backend. La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type. La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type.
application/json La charge utile de la demande n'est pas transformée et est envoyée en l'état au backend. La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type. La demande est rejetée avec une réponse HTTP 415 Unsupported Media Type.
application/xml La charge utile de la demande est transformée à l'aide du modèle. La charge utile de la demande est transformée à l'aide du modèle. La charge utile de la demande est transformée à l'aide du modèle.