Membentuk, mengakses, dan mengonversi pesan

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat dokumentasi Apigee Edge.

Anda dapat menggunakan kebijakan yang disertakan dengan Apigee untuk memanipulasi pesan yang mengalir melalui proxy API Anda. Dengan kebijakan, Anda dapat:

  • Mengonversi pesan antar-format, seperti dari XML ke JSON.
  • Menetapkan nilai variabel dari konten pesan, dan membuat pesan dari nilai variabel.
  • Gunakan kode prosedural, seperti JavaScript, Java, dan Python, untuk menangani pesan dan data dengan cara yang lebih kompleks.

Secara umum, saat menggunakan kebijakan ini, Anda menentukan input dan output sebagai variabel alur. Pada waktu proses, Apigee mengambil nilai input dari variabel sumber dan menulis nilai output ke variabel output.

Topik ini memperkenalkan kemampuan ini. Untuk informasi teknis dan lebih lengkap, lihat referensi kebijakan untuk setiap kebijakan.

Penanganan sederhana untuk XML dan JSON

Apigee menyertakan kebijakan yang mempermudah konversi antara XML dan JSON, serta mengubah XML dengan XSL.

Mengonversi JSON ke XML

Kebijakan JSONtoXML mengambil input JSON Anda dan mengonversinya menjadi XML.

Dalam contoh kebijakan berikut, kebijakan mengambil pesan berformat JSON dari variabel request, lalu mengganti nilai variabel dengan pesan berformat XML. Input ditentukan dalam elemen <Source>, sedangkan output ditentukan dalam elemen <OutputVariable>.

<JSONToXML name="jsontoxml">
     <Source>request</Source>                     ---> INPUT
     <OutputVariable>request</OutputVariable>          OUTPUT --->
</JSONToXML>

Mengonversi XML ke JSON

Kebijakan XMLtoJSON mengonversi pesan input XML menjadi JSON.

Dalam contoh kebijakan berikut, kebijakan mengambil pesan berformat XML dari variabel response, lalu mengganti nilai variabel dengan pesan berformat JSON. Input ditentukan dalam elemen <Source>, sedangkan output ditentukan dalam elemen <OutputVariable>.

<XMLToJSON name="ConvertToJSON">
   <Source>response</Source>                     ---> INPUT
   <OutputVariable>response</OutputVariable>          OUTPUT --->
</XMLToJSON>

Mengubah XML dengan XSL

Anda dapat menggunakan kebijakan XSLTransform untuk mengubah pesan menggunakan XSL. Misalnya, setelah mengonversi payload JSON ke XML, Anda dapat menggunakan kebijakan XSL Transform dengan lembar gaya untuk melakukan transformasi yang Anda perlukan.

Dalam contoh kebijakan berikut, kebijakan mengambil pesan berformat XML dari variabel response, lalu mengganti nilai variabel dengan pesan yang diformat oleh my_transform.xsl. Input ditentukan dalam elemen <Source>, sedangkan output ditentukan dalam elemen <OutputVariable>.

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

Menangani data variabel

Penanganan data dalam proxy sering kali hanya melibatkan penggunaan data status sebagai nilai variabel flow. Anda sering kali dapat melakukannya dengan menggunakan kebijakan yang mendapatkan atau menetapkan nilai variabel. Misalnya, Anda mungkin ingin membentuk nilai variabel menjadi pesan, atau mengekstrak konten pesan untuk menetapkan nilai variabel.

Pastikan untuk melihat referensi untuk dua kebijakan berikut:

Membuat transformasi yang lebih kompleks

Untuk penanganan data yang kompleksitasnya berada di luar kemampuan kebijakan yang disertakan, Anda dapat menggunakan bahasa prosedural seperti JavaScript, Java, atau Python.

Umumnya, hal ini melibatkan penulisan kode dalam salah satu bahasa ini, lalu memanggil kode dari kebijakan khusus untuk bahasa tersebut. Untuk mengetahui informasi selengkapnya, lihat Menggabungkan kode prosedural.