Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Setelah mengubah endpoint target, Anda siap untuk menambahkan kebijakan ke proxy Anda.
Kebijakan adalah komponen Edge yang dapat Anda lampirkan ke berbagai bagian dalam pesan yang mengalir melalui proxy API Anda. Kebijakan dapat mengubah format pesan, menerapkan kontrol akses, memanggil layanan jarak jauh, memberi otorisasi kepada pengguna, memeriksa konten pesan untuk menemukan potensi ancaman, dan melakukan banyak hal banyak lagi.
Dalam tutorial ini, Anda akan menambahkan kebijakan XMLtoJSON ke proxy. Kebijakan ini
mengonversi payload pesan XML menjadi JSON. Hal ini juga mengubah ukuran
Header Content-Type
.
Untuk menambahkan kebijakan XML ke JSON ke proxy Anda:
- Buka Edge UI di browser dan login.
- Klik Proxy API di jendela utama dan pilih proxy. Untuk contoh ini, pilih proxy yang Anda buat di Langkah 1: Buat proxy API.
Klik tab Develop:
Edge menampilkan Editor Proxy API.
Di panel Navigator, klik Proxy Endpoints > default > PreFlow:
Edge menampilkan editor Flow:
Selain itu, Edge 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>/getstarted</BasePath> <Properties/> <VirtualHost>default</VirtualHost> <VirtualHost>secure</VirtualHost> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>
- Untuk menambahkan kebijakan ke proxy, klik tombol + Langkah di
PreFlow respons (paruh bawah editor Flow):
Edge menampilkan daftar kebijakan yang dikategorikan dalam kotak dialog Add yang yang dapat Anda tambahkan ke alur:
- Scroll ke bawah dan pilih kebijakan XML ke JSON di Mediasi kategori.
Jangan ubah nama default, lalu klik Add.
Edge melampirkan kebijakan baru ke PreFlow respons:
Perhatikan bahwa saat Anda mengklik Add, Edge akan melakukan hal berikut:
- Menambahkan kebijakan baru di bagian Kebijakan di Navigator Google Analytics.
- Menambahkan kebijakan XML ke JSON di panel Flow.
- Menampilkan XML konfigurasi kebijakan di panel Code.
- Klik Save untuk menyimpan revisi saat ini dengan perubahan Anda.
Sekarang cobalah! Di jendela terminal, jalankan perintah curl
berikut:
curl https://org_name-test.apigee.net/getstarted
Dengan keterangan:
- org_name adalah nama organisasi yang ditetapkan Apigee untuk Anda saat Anda membuat akun Apigee.
-test
adalah lingkungannya. Anda telah men-deploy proxy baru ke "uji coba" di Langkah 1: Buat proxy API./getstarted
adalah Jalur Dasar Proxy.
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 di
Langkah 3: Ubah endpoint target Anda:
- Jika Anda mendapatkan pesan "Halo, Tamu!" sebagai respons, maka Anda perlu menambahkan "/xml" hingga akhir endpoint target.
- Jika Anda mendapatkan 404, periksa apakah Anda mengakses "apigee.net" dan bukan "apigee.com".
- Revisi terbaru proxy Anda telah di-deploy. Coba deploy ulang proxy API Anda seperti yang dijelaskan di Men-deploy dan membatalkan deployment Proxy API.
Untuk melihat header permintaan dan respons HTTP, aktifkan panjang di curl
dengan
Opsi -vs
(v
membuat respons menjadi panjang, tetapi s
menyembunyikannya
beberapa detail yang kurang menarik). Contoh:
curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool
Anda akan mendapatkan respons yang terlihat seperti berikut. Perhatikan bahwa
Header Content-Type
dalam respons adalah "application/json". Kebijakan XML ke JSON
mengubah {i>header<i} sebelum mengirim
respons kembali.
* Trying 10.20.30.40... * TCP_NODELAY set * Connected to ahamilton-eval-test.apigee.net (10.20.30.40) port 443 (#0) ... > GET /getstarted HTTP/1.1 > Host: ahamilton-eval-test.apigee.net > 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" } }