Langkah 5: Tambahkan kebijakan

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat Dokumentasi Apigee Edge.

Setelah mengubah endpoint target, Anda siap untuk menambahkan kebijakan ke proxy Anda.

Kebijakan adalah komponen Apigee yang dapat Anda lampirkan ke berbagai titik 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.

Anda dapat melampirkan kebijakan ke flow di proxy. Alur mengontrol cara kebijakan telah dijalankan. Dalam contoh ini, Anda akan menambahkan kebijakan ke alur khusus, yang disebut PreFlow. Kebijakan dalam PreFlow, dijalankan sebelum kebijakan lain di proxy. Meskipun Anda tidak perlu memahami alur secara mendetail untuk membaca contoh ini, Anda dapat mempelajari lebih lanjut tentang API tersebut di Controlling API menggunakan proxy dengan flow.

Editor Proxy Baru

Ada dua langkah untuk menambahkan kebijakan XMLtoJSON ke proxy Anda:

Membuat instance kebijakan

Untuk menggunakan kebijakan, Anda harus membuat instance kebijakan baru dari template kebijakan terlebih dahulu sebagai berikut:

  1. Jika Anda menggunakan UI Apigee di Konsol Cloud: Pilih Pengembangan proxy > Proxy API.

    Jika Anda menggunakan UI Apigee klasik: Pilih Develop > Proxy API dan di panel Proxies, pilih lingkungan untuk proxy.

  2. Dari daftar proxy, pilih proxy tempat Anda ingin menambahkan kebijakan.
  3. Klik tab Mengembangkan.

  4. Di panel sebelah kiri, klik tombol + di samping folder Policies.
  5. Pada dialog Buat kebijakan, pilih Kebijakan standar untuk memfilter daftar kebijakan yang tersedia berdasarkan jenis kebijakan.
  6. Di kotak teks Pilih jenis kebijakan, scroll ke bawah ke Mediasi, lalu pilih XML ke JSON.

  7. Jika ingin, Anda dapat mengubah Nama dan Nama tampilan kebijakan. Secara default, Apigee menyediakan awalan pendek untuk nama kebijakan, dalam hal ini X2J-, Anda dapat menambahkan urutan kata deskriptif yang dipisahkan dengan tanda hubung, setelah awalan. Lihat Konvensi penamaan.

    Dialog Create kebijakan.

    Setelah selesai, klik Buat untuk membuat kebijakan.

Kebijakan XML To JSON sekarang ditampilkan di panel sebelah kanan tampilan Develop:

Kebijakan XML Ke JSON ditampilkan di tampilan Develop.

Bagian bawah panel menampilkan kode XML untuk kebijakan.

Untuk mempelajari kebijakan ini lebih lanjut, pilih ikon informasi Ikon informasi. di samping nama kebijakan dan klik Kebijakan XML ke JSON. Tindakan ini akan menampilkan halaman referensi untuk kebijakan tersebut.

Menggunakan Gemini Code Assist untuk meninjau petunjuk kebijakan

Jika Anda memiliki add-on Gemini Code Assist, Anda dapat menyoroti elemen kebijakan untuk melihat informasi tentang elemen tersebut dan cara menggunakannya. Lihat Menggunakan kode Gemini Code Assist yang dijelaskan dengan kebijakan untuk mendapatkan informasi.

Mengubah nama kebijakan

Untuk mengubah nama kebijakan:

  1. Pilih kebijakan pada bagian Kebijakan di panel sebelah kiri.
  2. Dalam elemen <DisplayName> dalam kode XML untuk kebijakan tersebut, tambahkan frasa deskriptif untuk kebijakan tersebut, seperti change-xml-to-json, setelah singkatan nama kebijakan:

    Tambahkan change-xml-to-json ke nama kebijakan.

    Tindakan ini akan otomatis memperbarui nama kebijakan, yang ditampilkan di bagian Kebijakan.

    Lihat Konvensi penamaan.

Melampirkan kebijakan ke langkah dalam PreFlow

Setelah membuat kebijakan XML Ke JSON, Anda dapat melampirkannya ke langkah dalam PreFlow:

  1. Pilih Proxy Endpoints > default > PreFlow di di panel sebelah kiri:

    Endpoint target untuk pemilihan PreFlow di Proxy Explorer.

    Catatan: Anda mungkin perlu meluaskan editor visual di panel sebelah kanan untuk melihat semua yang kurang penting. Untuk melakukannya, klik dan seret {i>divider<i} antara editor visual dan editor teks turun sedikit.

  2. Klik tombol + di samping PreFlow di panel Response di kanan bawah editor visual:

    Klik tombol + di samping PreFlow di panel Response.

  3. Pada dialog Tambahkan langkah kebijakan, pilih kebijakan X2J-change-xml-to-json.
  4. Klik Add untuk melampirkan kebijakan.

    Kebijakan X2J-change-xml-to-json kini ditampilkan di panel Response:

    Kebijakan XML To JSON ditampilkan di panel Respons.

  5. Klik Save untuk menyimpan revisi saat ini dengan perubahan Anda.
  6. Untuk men-deploy perubahan pada revisi, klik Deploy dan ikuti petunjuknya dalam Deploy proxy API.

Editor Proxy Klasik

Untuk menambahkan kebijakan XMLtoJSON ke proxy Anda:

  1. Buka UI Apigee di browser dan login.
  2. Klik Proxy API di jendela utama dan pilih proxy. Untuk contoh ini, pilih proxy yang Anda buat di Langkah 2: Buat proxy API.
  3. Klik tab Develop:

    Klik tab Develop di Proxy Editor.

    Apigee menampilkan Editor Proxy API.

  4. Di panel Navigator, klik Proxy Endpoints > default > PreFlow:

    Apigee menampilkan editor Flow:

    Editor alur.

    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>
  5. Untuk menambahkan kebijakan ke proxy, klik tombol + Langkah di PreFlow respons (paruh bawah editor Flow):

    + Langkah di PreFlow respons.

    Apigee menampilkan daftar kebijakan yang dikategorikan di kotak dialog Add yang yang dapat Anda tambahkan ke alur:

    Daftar kebijakan.

  6. Scroll ke bawah dan pilih kebijakan XMLtoJSON di Mediasi kategori.
  7. Jangan ubah nama default, lalu klik Add.

    Apigee melampirkan kebijakan baru ke PreFlow respons:

    Kebijakan baru yang dilampirkan dalam Preflow respons.

    Perlu diperhatikan bahwa saat Anda mengklik Add, Apigee akan melakukan hal berikut:

    • Menambahkan kebijakan baru di bagian Kebijakan di Navigator Google Analytics.
    • Menambahkan kebijakan XMLtoJSON di panel Flow.
    • Menampilkan XML konfigurasi kebijakan di panel Code.
  8. Klik Save untuk menyimpan revisi saat ini dengan perubahan Anda.
  9. Untuk men-deploy perubahan, klik tab Overview dan 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 Temukan nama host grup lingkungan.

Lihat Panggil proxy API Anda 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:

  1. Endpoint target Anda adalah https://mocktarget.apigee.net/xml, seperti yang dijelaskan di Langkah 4: Ubah endpoint target Anda:
    • Jika mendapatkan Hello, Guest! sebagai respons, Anda perlu menambahkan /xml ke akhir endpoint target.
    • Jika Anda mendapatkan 404, pastikan Anda sedang mengakses apigee.net dan bukan apigee.com.
  2. Revisi terbaru proxy Anda telah di-deploy. Coba deploy ulang proxy API Anda seperti yang dijelaskan di Men-deploy Proxy API 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 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 mengirim 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"
  }
}

Langkah berikutnya

Pelajari lebih dalam