Mettre en forme, consulter et convertir des messages

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Vous pouvez utiliser les règles incluses dans Apigee Edge pour manipuler les messages transitant par vos proxys d'API. Les règles vous permettent d'effectuer les opérations suivantes :

  • Convertir des messages entre différents formats (par exemple, du format XML vers JSON).
  • Définir les valeurs de certaines variables à partir du contenu des messages et créer des messages à partir des valeurs de certaines variables.
  • Utilisez du code procédural, tel que JavaScript, Java et Python, pour gérer les messages et les données de manière plus complexe.

En général, lorsque vous utilisez ces règles, vous spécifiez l'entrée et la sortie en tant que variables de flux. Au moment de l'exécution, Apigee Edge récupère la valeur d'entrée à partir d'une variable source et écrit la valeur de sortie dans une variable de sortie.

Ces fonctionnalités sont présentées dans cet article. Pour obtenir des informations plus complètes et techniques, consultez la documentation de référence correspondant à chaque règle.

Gestion simple pour XML et JSON

Apigee Edge inclut des règles qui facilitent la conversion entre XML et JSON, et la transformation XML avec XSL.

Convertir le format JSON au format XML

La règle JSON vers XML utilise votre entrée JSON et la convertit au format XML.

Dans l'exemple de règle suivant, la règle récupère un message au format JSON de la variable request, puis remplace la valeur de la variable par un message au format XML. L'entrée est spécifiée dans l'élément <Source>, tandis que la sortie est spécifiée dans l'élément <OutputVariable>.

<JSONToXML name="jsontoxml">
     <Source>request</Source>
     <OutputVariable>request</OutputVariable>
</JSONToXML>

Convertir le format XML au format JSON

La règle XML vers JSON convertit le message d'entrée XML au format JSON.

Dans l'exemple de règle suivant, la règle prend un message au format XML de la variable response, puis remplace la valeur de la variable par un message au format JSON. L'entrée est spécifiée dans l'élément <Source>, tandis que la sortie est spécifiée dans l'élément <OutputVariable>.

<XMLToJSON name="ConvertToJSON">
   <OutputVariable>response</OutputVariable>
   <Source>response</Source>
</XMLToJSON>

Transformer des messages XML avec XSL

Vous pouvez utiliser la règle de transformation XSL pour transformer des messages avec XSL. Par exemple, après avoir converti une charge utile JSON vers XML, vous pouvez utiliser la règle de transformation XSL avec une feuille de style pour effectuer la transformation dont vous avez besoin.

Dans l'exemple de règle suivant, la règle récupère un message au format XML de la variable response, puis remplace la valeur de la variable par un message mis en forme par my_transform.xsl. L'entrée est spécifiée dans l'élément <Source>, tandis que la sortie est spécifiée dans l'élément <OutputVariable>.

<XSL name="TransformXML">
    <ResourceURL>xsl://my_transform.xsl</ResourceURL>
    <Source>response</Source>
    <OutputVariable>response</OutputVariable>
</XSL>

    <Source>request</Source>
    <ResourceURL>xsl://XSL-Transform-1.xsl</ResourceURL>
    <OutputVariable/>

Traiter des données variables

La gestion des données dans un proxy implique souvent de travailler avec des données d'état en tant que valeurs de variable de flux. Pour ce faire, vous pouvez utiliser une règle qui obtient ou définit des valeurs de variables. Par exemple, vous pouvez intégrer des valeurs de variables dans un message ou extraire le contenu d'un message pour définir les valeurs de variables.

Assurez-vous de consulter les références des deux règles suivantes :

Créer des transformations plus complexes

Pour une gestion de données dont la complexité dépasse la capacité des règles incluses, vous pouvez utiliser des langages procéduraux tels que JavaScript, Java ou Python.

En règle générale, cela implique d'écrire du code dans l'un de ces langages, puis d'appeler le code à partir d'une règle spécifique au langage. Pour plus d'informations à ce sujet, consultez la section Intégrer le code procédural.