Halaman ini berlaku untuk Apigee dan Apigee Hybrid.
Lihat dokumentasi
Apigee Edge.
Setelah mengubah endpoint target, Anda siap menambahkan kebijakan ke proxy.
Kebijakan adalah komponen Apigee yang dapat Anda lampirkan ke berbagai titik dalam alur pesan melalui proxy API. Kebijakan dapat mengubah format pesan, menerapkan kontrol akses, memanggil layanan jarak jauh, mengizinkan pengguna, memeriksa konten pesan untuk mendeteksi potensi ancaman, dan melakukan banyak hal lainnya.
Dalam tutorial ini, Anda akan menambahkan kebijakan XMLtoJSON ke proxy. Kebijakan ini
mengonversi payload pesan XML menjadi JSON. Tindakan ini juga mengubah header Content-Type
respons.
Anda dapat melampirkan kebijakan ke flow di proxy. Alur mengontrol cara kebijakan dijalankan. Dalam contoh ini, Anda akan menambahkan kebijakan ke alur khusus, yang disebut PreFlow. Kebijakan di PreFlow dijalankan sebelum kebijakan lain di proxy. Meskipun Anda tidak perlu memahami alur secara mendetail untuk membaca contoh ini, Anda dapat mempelajari lebih lanjut alur di Mengontrol proxy API dengan alur.
Tambahkan kebijakan
Tambahkan kebijakan XMLtoJSON ke proxy Anda.
Apigee di Konsol Cloud
Ada dua langkah untuk menambahkan kebijakan XMLtoJSON ke proxy Anda:
Buat instance kebijakan
Untuk menggunakan kebijakan, Anda harus membuat instance baru kebijakan dari template kebijakan terlebih dahulu sebagai berikut:
-
Di konsol Google Cloud , buka halaman Proxy development > API proxies.
- Dari daftar proxy, pilih proxy tempat Anda ingin menambahkan kebijakan.
Klik tab Mengembangkan.
- Di panel sebelah kiri, klik tombol + di samping folder Policies.
- Pada dialog Create policy, pilih Standard policies untuk memfilter daftar kebijakan yang tersedia menurut jenis kebijakan.
- Di kotak teks Pilih jenis kebijakan, scroll ke bawah ke Mediasi, lalu pilih XML To JSON.
Jika ingin, Anda dapat mengubah Nama dan Nama tampilan kebijakan. Secara default, Apigee memberikan awalan singkat untuk nama kebijakan, dalam hal ini, X2J-, Anda dapat menambahkan urutan kata deskriptif yang dipisahkan dengan tanda hubung, setelah awalan. Lihat Konvensi penamaan.
Setelah selesai, klik Buat untuk membuat kebijakan.
Kebijakan XML To JSON kini ditampilkan di panel sebelah kanan tampilan Develop:
Bagian bawah panel menampilkan kode XML untuk kebijakan.
Untuk mempelajari kebijakan lebih lanjut, pilih ikon informasi
di samping nama kebijakan
dan klik
kebijakan XML To JSON. Tindakan ini akan menampilkan halaman referensi untuk kebijakan tersebut.
Menggunakan Gemini Code Assist untuk meninjau petunjuk kebijakan
Jika memiliki add-on Gemini Code Assist, Anda dapat menandai elemen kebijakan untuk melihat informasi tentang elemen tersebut dan cara menggunakannya. Lihat Menggunakan penjelasan kode Gemini Code Assist dengan kebijakan untuk mendapatkan informasi.
Mengubah nama kebijakan
Untuk mengubah nama kebijakan:
- Pilih kebijakan di bagian Kebijakan di panel sebelah kiri.
- Dalam elemen <DisplayName> di kode XML untuk kebijakan,
tambahkan frasa deskriptif untuk kebijakan, seperti change-xml-to-json,
setelah singkatan untuk nama kebijakan:
Tindakan ini akan otomatis memperbarui nama kebijakan, yang ditampilkan di bagian Kebijakan.
Lihat Konvensi penamaan.
Lampirkan kebijakan ke langkah dalam PreFlow
Setelah membuat kebijakan XML To JSON, Anda dapat melampirkannya ke langkah di PreFlow:
- Pilih Proxy Endpoints > default > PreFlow di
panel kiri:
Catatan: Anda mungkin perlu meluaskan editor visual di panel kanan untuk melihat semua elemen. Untuk melakukannya, klik dan tarik pemisah antara editor visual dan editor teks sedikit ke bawah.
- Klik tombol + di samping PreFlow di panel Response
di kanan bawah editor visual:
- Dalam dialog Add policy step, pilih kebijakan X2J-change-xml-to-json.
Klik Tambahkan untuk melampirkan kebijakan.
Kebijakan X2J-change-xml-to-json kini ditampilkan di panel Response:
- Klik Simpan untuk menyimpan revisi saat ini dengan perubahan Anda.
- Untuk men-deploy perubahan ke revisi, klik Deploy dan ikuti petunjuk di Men-deploy proxy API.
UI Apigee Klasik
Untuk menambahkan kebijakan XMLtoJSON ke proxy Anda:
- Buka Apigee UI di browser dan login.
- Klik API Proxies di jendela utama, lalu pilih proxy. Untuk contoh ini, pilih proxy yang Anda buat di Langkah 2: Buat proxy API.
Klik tab Develop:
Apigee akan menampilkan Editor Proxy API.
Di panel Navigator, klik Proxy Endpoints > default > PreFlow:
Apigee menampilkan editor Flow:
Selain itu, Apigee menampilkan konfigurasi Endpoint Proxy default di panel Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ProxyEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> <Flows/> <HTTPProxyConnection> <BasePath>/myproxy</BasePath> <Properties/> <VirtualHost>default</VirtualHost> <VirtualHost>secure</VirtualHost> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>
- Untuk menambahkan kebijakan ke proxy, klik tombol + Step di
PreFlow respons (bagian bawah editor Flow):
Apigee menampilkan daftar kebijakan yang dikategorikan dalam kotak dialog Add yang dapat Anda tambahkan ke alur:
- Scroll ke bawah, lalu pilih kebijakan XMLtoJSON dalam kategori Mediasi.
Biarkan nama default, lalu klik Tambahkan.
Apigee melampirkan kebijakan baru ke PreFlow respons:
Perhatikan bahwa saat Anda mengklik Tambahkan, Apigee akan melakukan hal berikut:
- Menambahkan kebijakan baru di bagian Policies di panel Navigator.
- Menambahkan kebijakan XMLtoJSON di panel Flow.
- Menampilkan XML konfigurasi kebijakan di panel Code.
- Klik Simpan untuk menyimpan revisi saat ini dengan perubahan Anda.
- Untuk men-deploy perubahan, klik tab Ringkasan, lalu klik tombol Deploy.
Menguji kebijakan baru
Untuk menguji kebijakan baru, jalankan perintah curl
berikut di jendela terminal:
curl https://YOUR_ENV_GROUP_HOSTNAME/myproxy
dengan YOUR ENV_GROUP_HOSTNAME
adalah nama host grup lingkungan. Lihat
Menemukan nama host grup lingkungan.
Lihat Memanggil proxy API untuk mengetahui informasi selengkapnya.
Atau, Anda dapat membuka URL yang sama di browser.
Anda akan menerima respons berikut:
{ "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }
Jika isi respons tidak terlihat seperti ini, periksa apakah:
- Endpoint target Anda adalah
https://mocktarget.apigee.net/xml
, seperti yang dijelaskan dalam Langkah 4: Ubah endpoint target Anda:- Jika Anda mendapatkan
Hello, Guest!
sebagai respons, Anda harus menambahkan/xml
ke akhir endpoint target. - Jika Anda mendapatkan
404
, periksa apakah Anda mengaksesapigee.net
, bukanapigee.com
.
- Jika Anda mendapatkan
- Revisi terbaru proxy Anda telah di-deploy. Coba deploy ulang proxy API Anda seperti yang dijelaskan dalam Men-deploy proxy API dan Membatalkan deployment proxy API.
Untuk melihat header permintaan dan respons HTTP, aktifkan kejelasan dalam curl
dengan opsi
-vs
(v
membuat respons menjadi jelas, tetapi s
menyembunyikan
beberapa detail yang kurang menarik). Contoh berikut mengasumsikan bahwa
proxy diberi nama myproxy
::
curl -vs https://YOUR_ENV_GROUP_HOSTNAME/myproxy | python -m json.tool
Anda akan mendapatkan respons yang terlihat seperti berikut. Perhatikan bahwa header
Content-Type
dalam respons adalah application/json
.
Kebijakan XMLtoJSON mengubah header sebelum mengirimkan respons kembali.
* Trying 10.20.30.40... * TCP_NODELAY set * Connected to apitest.acme.com (10.20.30.40) port 443 (#0) ... > GET /myproxy HTTP/1.1 > Host: apitest.acme.com > User-Agent: curl/7.58.0 > Accept: */* > < HTTP/1.1 200 OK < Date: Fri, 25 May 2018 16:20:00 GMT < Content-Type: application/json;charset=UTF-8 < Content-Length: 77 < Connection: keep-alive < X-Powered-By: Apigee < Access-Control-Allow-Origin: * ... { [77 bytes data] { "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }