Membentuk, mengakses, dan mengonversi pesan

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Anda dapat menggunakan kebijakan yang disertakan dengan Apigee Edge 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 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 flow. Pada waktu proses, Apigee Edge 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 Edge menyertakan kebijakan yang mempermudah konversi antara XML dan JSON, serta mengubah XML dengan XSL.

Mengonversi JSON ke XML

Kebijakan JSON ke XML mengambil input JSON Anda dan mengonversinya menjadi XML.

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

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

Mengonversi XML ke JSON

Kebijakan XML to JSON 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">
   <OutputVariable>response</OutputVariable>
   <Source>response</Source>
</XMLToJSON>

Mentransformasi XML dengan XSL

Anda dapat menggunakan kebijakan Transformasi XSL untuk mengubah pesan menggunakan XSL. Misalnya, setelah mengonversi payload JSON ke XML, Anda dapat menggunakan kebijakan Transformasi XSL dengan style sheet untuk melakukan transformasi yang diperlukan.

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">
    <ResourceURL>xsl://my_transform.xsl</ResourceURL>
    <Source>response</Source>
    <OutputVariable>response</OutputVariable>
</XSL>

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

Menangani data variabel

Penanganan data dalam proxy sering kali hanya melibatkan penggunaan data status sebagai nilai variabel flow. Sering kali, Anda 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:

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.