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. |