Comportements de transfert direct - APIPasserelle Amazon

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 l'intégralité de la demande à votre backend, et vous n'avez pas la possibilité de modifier les comportements de transmission.

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 la API passerelleAPI, vous choisissez cette option en la définissant WHEN_NO_MATCH comme valeur de passthroughBehavior propriété sur l'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é sera rejetée avec une réponse HTTP 415 Unsupported Media Type.

Lorsque vous appelez la API passerelleAPI, vous choisissez cette option en la définissant WHEN_NO_TEMPLATES comme valeur de passthroughBehavior propriété sur l'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é sera rejetée avec une réponse HTTP 415 Unsupported Media Type.

Lorsque vous appelez la API passerelleAPI, vous choisissez cette option en la définissant NEVER comme valeur de passthroughBehavior propriété sur l'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 HTTP 415 Unsupported Media Type réponse. La demande est rejetée avec une HTTP 415 Unsupported Media Type réponse.

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 HTTP 415 Unsupported Media Type réponse. La demande est rejetée avec une HTTP 415 Unsupported Media Type réponse.
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 HTTP 415 Unsupported Media Type réponse. La demande est rejetée avec une HTTP 415 Unsupported Media Type réponse.
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.