Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Setelah mengubah endpoint target, Anda siap menambahkan kebijakan ke proxy.
Kebijakan adalah komponen Edge yang dapat Anda lampirkan ke berbagai titik dalam alur pesan melalui proxy API Anda. Kebijakan dapat mengubah format pesan, menerapkan kontrol akses, memanggil layanan jarak jauh, memberi otorisasi kepada pengguna, memeriksa konten pesan untuk mendeteksi potensi ancaman, dan banyak lagi.
Dalam tutorial ini, Anda akan menambahkan kebijakan XMLtoJSON ke proxy. Kebijakan ini
mengonversi payload pesan XML ke JSON. Tindakan ini juga mengubah header Content-Type respons.
Untuk menambahkan kebijakan XML ke JSON ke proxy Anda:
- Buka Edge UI di browser dan login.
- Klik API Proxies di jendela utama, lalu pilih proxy. Untuk contoh ini, pilih proxy yang Anda buat di Langkah 1: Buat proxy API.
Klik tab Mengembangkan:

Edge akan menampilkan Editor Proxy API.
Di panel Navigator, klik Proxy Endpoints > default > PreFlow:

Edge menampilkan editor Alur:

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 + Step di
PreFlow respons (bagian bawah editor Flow):

Edge menampilkan daftar kebijakan yang dikategorikan dalam kotak dialog Tambahkan yang dapat Anda tambahkan ke alur:

- Scroll ke bawah, lalu pilih kebijakan XML to JSON dalam kategori Mediation.
Biarkan nama default, lalu klik Tambahkan.
Edge melampirkan kebijakan baru ke PreFlow respons:

Perhatikan bahwa saat Anda mengklik Tambahkan, Edge akan melakukan hal berikut:
- Menambahkan kebijakan baru di bagian Policies di panel Navigator.
- Menambahkan kebijakan XML ke JSON di panel Flow.
- Menampilkan XML konfigurasi kebijakan di panel Code.
- Klik Simpan untuk menyimpan revisi saat ini dengan perubahan Anda.
Sekarang, coba! Di jendela terminal, jalankan perintah curl berikut:
curl https://org_name-test.apigee.net/getstarted
Dengan:
- org_name adalah nama organisasi yang ditetapkan Apigee kepada Anda saat Anda membuat akun Apigee.
-testadalah lingkungan. Anda telah men-deploy proxy baru ke lingkungan "test" di Langkah 1: Buat proxy API./getstartedadalah 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 dalam
Langkah 3: Ubah endpoint target Anda:
- Jika Anda mendapatkan "Hello, Guest!" sebagai respons, Anda harus menambahkan "/xml" di akhir endpoint target.
- Jika Anda mendapatkan error 404, periksa apakah Anda mengakses "apigee.net" dan bukan "apigee.com".
- Revisi proxy terbaru Anda di-deploy. Coba deploy ulang proxy API Anda seperti yang dijelaskan dalam Men-deploy 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:
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 header sebelum mengirimkan 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" } }