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.
Transformations de données pour REST APIs dans API Gateway
Note
Cette section explique les fonctionnalités que vous allez utiliser avec une intégration sans proxy. Toutefois, nous vous recommandons, dans la mesure du possible, d’utiliser une intégration proxy pour votre API REST. Une intégration proxy dispose d’une configuration d’intégration simplifiée et peut évoluer avec le backend sans qu’il soit nécessaire de modifier la configuration existante. Pour de plus amples informations, veuillez consulter Choix d’un type d’intégration d’API API Gateway.
Si vous utilisez une intégration sans proxy, vous pouvez utiliser deux fonctionnalités d’API Gateway pour transformer votre demande de méthode et votre réponse d’intégration. Vous pouvez transformer votre demande de méthode si elle utilise un format de données utiles différent de celui de la demande d’intégration. Vous pouvez transformer votre réponse d’intégration si elle renvoie un format de données utiles différent de celui que vous devez renvoyer dans la réponse de méthode. Pour plus d’informations sur le cycle de vie des demandes, consultez Exemple de ressource pour une API REST.
L’exemple suivant montre une transformation de données dans laquelle, pour l’en-tête "x-version:beta", le paramètre d’en-tête x-version est transformé en paramètre d’en-tête app-version. Les données passent de x-version à app-version dans la demande d’intégration. Ainsi, le point de terminaison d’intégration reçoit la valeur du paramètre d’en-tête transformé. Lorsque le point de terminaison d’intégration renvoie un code d’état, celui-ci passe de 200 à 204 avant la réponse de méthode.
 
         
         
      Pour transformer des données, vous pouvez utiliser les fonctionnalités suivantes :
- Mappage de paramètres
- 
        Dans un mappage des paramètres, vous pouvez modifier les paramètres du chemin d’URL de la demande d’intégration, les paramètres de la chaîne de requête d’URL ou les valeurs d’en-tête HTTP, mais vous ne pouvez pas modifier les données utiles de la demande d’intégration. Vous pouvez également modifier les valeurs de l’en-tête de réponse HTTP. Utilisez le mappage de paramètres pour créer des valeurs d’en-tête statiques pour le partage des ressources entre origines multiples (CORS). Vous pouvez utiliser le mappage de paramètres dans votre demande d’intégration pour les intégrations proxy et sans proxy. En revanche, pour utiliser le mappage de paramètres dans une réponse d’intégration, vous avez besoin d’une intégration sans proxy. Le mappage de paramètres ne nécessite aucun script en langage VTL (Velocity Template Language ). Pour de plus amples informations, veuillez consulter Mappage des paramètres pour REST APIs dans API Gateway. 
- Transformations de modèles de mappage
- 
        Pour transformer un modèle de mappage, vous allez utiliser un modèle de mappage pour mapper les paramètres de chemin d’URL, les paramètres de chaîne de requête d’URL, les en-têtes HTTP, ainsi que le corps de la demande d’intégration ou de la réponse d’intégration. Un modèle de mappage est un script exprimé dans le langage VTL (Velocity Template Language) à l'aide d'JSONPath expressions et appliqué à la charge utile en fonction de l' Content-typeen-tête.Un modèle de mappage vous permet d’effectuer les opérations suivantes : - 
            Sélectionnez les données à envoyer à l'aide de l'intégration Services AWS, telles que les fonctions Amazon DynamoDB ou Lambda, ou les points de terminaison HTTP. Pour de plus amples informations, veuillez consulter Tutoriel : Modifier la demande et la réponse d'intégration pour les intégrations aux services AWS. 
- 
            Remplacer de manière conditionnelle les paramètres de demande d’intégration et de réponse d’intégration d’une API, créer des valeurs d’en-tête et remplacer des codes d’état. Pour de plus amples informations, veuillez consulter Remplacez les paramètres de demande et de réponse et les codes d'état de votre API pour REST APIs dans API Gateway. 
 Vous pouvez également spécifier le comportement de votre API lorsqu’un corps de demande d’intégration comporte un en-tête Content-typesans modèles de mappage correspondants. C’est ce qu’on appelle le comportement de transmission d’intégration. Pour de plus amples informations, veuillez consulter Comportement des demandes de méthode pour les charges utiles sans modèles de mappage pour REST APIs dans API Gateway.
- 
            
Choisissez entre le mappage de paramètres et la transformation du modèle de mappage
Nous vous recommandons d’utiliser le mappage de paramètres pour transformer vos données lorsque cela est possible. Si votre API vous oblige à modifier le corps ou à effectuer des remplacements et modifications conditionnelles en fonction de la demande d’intégration entrante ou de la réponse d’intégration, et que vous ne pouvez pas utiliser d’intégration proxy, optez pour la transformation du modèle de mappage.