Membentuk, mengakses, dan mengonversi pesan

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca 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.
  • Tetapkan nilai variabel dari konten pesan, dan buat pesan dari nilai variabel.
  • Gunakan kode sesuai prosedur, 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 yang sederhana untuk XML dan JSON

Apigee menyertakan kebijakan yang mempermudah konversi antara XML dan JSON, dan untuk mentransformasi XML dengan XSL.

Mengonversi JSON ke XML

Kebijakan JSONtoXML mengambil input JSON Anda dan mengonversinya menjadi XML.

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

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

Mentransformasi XML dengan XSL

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

Pada 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 alur. 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 isi pesan untuk menetapkan nilai variabel.

Pastikan untuk melihat referensi untuk dua kebijakan berikut:

Menciptakan transformasi yang lebih kompleks

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

Umumnya, tindakan ini melibatkan penulisan kode dalam salah satu bahasa ini, kemudian pemanggilan kode dari kebijakan khusus untuk bahasa tersebut. Untuk mengetahui informasi selengkapnya, lihat Menyertakan kode sesuai prosedur.