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. 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 di dengan cara yang lebih kompleks.
Secara umum, saat menggunakan kebijakan ini, Anda menentukan input dan output sebagai variabel flow. Di runtime, Apigee mengambil nilai input dari variabel sumber dan menulis output nilai pada variabel output.
Topik ini memperkenalkan kemampuan tersebut. Untuk informasi teknis dan lebih lengkap, lihat referensi kebijakan untuk masing-masing pihak.
Penanganan sederhana untuk XML dan JSON
Apigee menyertakan kebijakan yang mempermudah konversi antara XML dan JSON, serta untuk dan mengubah XML dengan XSL.
Mengonversi JSON ke XML
Kebijakan JSONtoXML mengambil input JSON dan mengonversinya menjadi XML.
Dalam contoh kebijakan berikut, kebijakan mengambil pesan berformat JSON dari
request
, lalu mengganti nilai variabel dengan pesan berformat XML.
Input ditetapkan 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
response
, lalu mengganti nilai variabel tersebut dengan pesan berformat JSON.
Input ditetapkan 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 JSON {i>payload<i} ke XML, Anda dapat menggunakan kebijakan Transformasi XSL dengan {i>style sheet<i} untuk melakukan transformasi yang Anda butuhkan.
Dalam contoh kebijakan berikut, kebijakan mengambil pesan berformat XML dari
response
, lalu mengganti nilai variabel dengan pesan yang diformat oleh
my_transform.xsl
. Input ditetapkan dalam elemen <Source>
,
saat 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 variabel aliran masing-masing. 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 Anda melihat referensi untuk dua kebijakan berikut:
- Kebijakan TetapkanMessage untuk membuat pesan dari nilai variabel.
- Kebijakan ExtractVariables untuk menetapkan variabel dari konten pesan.
Membuat transformasi yang lebih kompleks
Untuk penanganan data yang kompleksitasnya di luar kemampuan kebijakan yang disertakan, Anda bisa menggunakan bahasa sesuai prosedur seperti JavaScript, Java, atau Python.
Umumnya, langkah ini melibatkan penulisan kode dalam salah satu bahasa ini, kemudian memanggil kode dari sebuah bahasa. kebijakan yang spesifik untuk bahasa tersebut. Untuk informasi selengkapnya, lihat Menggabungkan kode sesuai prosedur.