Langkah 4: Tambahkan kebijakan

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 dilampirkan ke titik yang berbeda dalam alur pesan melalui proxy API Anda. Kebijakan dapat mengubah format pesan, menerapkan kontrol akses, memanggil layanan jarak jauh, memberikan otorisasi kepada pengguna, memeriksa isi pesan untuk mendeteksi potensi ancaman, dan masih banyak lagi.

Dalam tutorial ini, Anda akan menambahkan kebijakan XMLtoJSON ke proxy Anda. Kebijakan ini mengonversi payload pesan XML menjadi JSON. Tindakan ini juga akan mengubah header Content-Type respons.

Untuk menambahkan XML ke kebijakan JSON ke proxy Anda:

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

    Edge menampilkan API Proxy Editor.

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

    Edge menampilkan Editor flow:

    Selain itu, Edge akan menampilkan konfigurasi Proxy Endpoint 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>
  5. Untuk menambahkan kebijakan ke proxy Anda, klik tombol + Step di PreFlow respons (bagian bawah Flow editor):

    Edge menampilkan daftar kebijakan yang dikategorikan dalam kotak dialog Add yang dapat Anda tambahkan ke flow Anda:

  6. Scroll ke bawah, lalu pilih kebijakan XML ke JSON di kategori Mediasi.
  7. Biarkan nama default, lalu klik Add.

    Edge melampirkan kebijakan baru pada PreFlow respons:

    Perhatikan bahwa saat Anda mengklik Add, Edge akan melakukan hal berikut:

    • Menambahkan kebijakan baru di bagian Policies pada panel Navigator.
    • Menambahkan XML ke kebijakan JSON di panel Flow.
    • Menampilkan XML konfigurasi kebijakan di panel Code.
  8. Klik Simpan 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 kepada Anda saat membuat akun Apigee.
  • -test adalah lingkungannya. Anda men-deploy proxy baru ke lingkungan "test" pada 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:

  1. Endpoint target Anda adalah "https://mocktarget.apigee.net/xml", seperti yang dijelaskan di Langkah 3: Ubah endpoint target:
    • Jika mendapatkan "Hello, Guest!" sebagai respons, Anda harus menambahkan "/xml" ke bagian akhir endpoint target.
    • Jika Anda mendapatkan error 404, pastikan Anda mengakses "apigee.net" dan bukan "apigee.com".
  2. Revisi terbaru proxy Anda telah di-deploy. Coba deploy ulang proxy API seperti yang dijelaskan dalam Men-deploy dan membatalkan deployment proxy API.

Untuk melihat header respons dan permintaan HTTP, aktifkan panjang dalam curl dengan opsi -vs (v membuat respons menjadi panjang, 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 seperti berikut. Perlu diperhatikan bahwa header Content-Type dalam respons adalah "application/json". Kebijakan XML ke JSON mengubah header sebelum mengirim kembali respons.

*   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"
  }
}

Langkah berikutnya

Pelajari lebih lanjut