4. Adım: Politika ekleme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Hedef uç noktanızı değiştirdiğinize göre artık proxy'nize politika eklemeye hazırsınız.

Politika, API proxy'leriniz aracılığıyla mesaj akışındaki farklı noktalara ekleyebileceğiniz bir Edge bileşenidir. Politikalar; mesaj biçimlerini dönüştürebilir, erişim denetimini zorunlu kılabilir, uzak hizmetleri çağırabilir, kullanıcıları yetkilendirebilir, mesaj içeriğini olası tehditlere karşı inceleyebilir ve çok daha fazlasını yapabilir.

Bu eğiticide, proxy'nize XMLtoJSON politikasını ekleyeceksiniz. Bu politika, XML mesajlarının yükünü JSON'a dönüştürür. Ayrıca, yanıtın Content-Type üst bilgisi de değişir.

XML'i JSON politikasını proxy'nize eklemek için:

  1. Bir tarayıcıda Edge kullanıcı arayüzünü açıp giriş yapın.
  2. Ana pencerede API Proxy'leri seçeneğini tıklayın ve bir proxy seçin. Bu örnek için, 1. Adım: API proxy'si oluşturma bölümünde oluşturduğunuz proxy'yi seçin.
  3. Geliştirme sekmesini tıklayın:

    Edge, API Proxy Düzenleyici'yi görüntüler.

  4. Gezgin bölmesinde Proxy Uç Noktaları > varsayılan > PreFlow'u tıklayın:

    Edge, Akış düzenleyicisini görüntüler:

    Buna ek olarak, Edge Kod bölmesinde varsayılan Proxy Uç Noktası yapılandırmasını görüntüler:

    <?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. Proxy'nize politika eklemek için PreFlow yanıt bölümündeki (Akış düzenleyicisinin alt yarısı) + Adım düğmesini tıklayın:

    Edge, Ekle iletişim kutusunda, akışınıza ekleyebileceğiniz sınıflandırılmış bir politika listesi görüntüler:

  6. Sayfayı aşağı kaydırın ve Uyumlulaştırma kategorisinde XML'den JSON'a politikasını seçin.
  7. Varsayılan adları değiştirmeyin ve Add'i (Ekle) tıklayın.

    Edge, yeni politikayı yanıtın PreFlow'una ekler:

    Ekle'yi tıkladığınızda, Edge'in aşağıdakileri yaptığını unutmayın:

    • Yeni politikayı, Gezgin bölmesinde Politikalar'ın altına ekler.
    • XML'yi Akış bölmesinde JSON politikasına ekler.
    • Kod bölmesinde politikanın yapılandırma XML'ini görüntüler.
  8. Değişikliklerinizle birlikte geçerli düzeltmeyi kaydetmek için Kaydet'i tıklayın.

Şimdi deneyin! Bir terminal penceresinde aşağıdaki curl komutunu yürütün:

curl https://org_name-test.apigee.net/getstarted

Burada:

Alternatif olarak, aynı URL'yi bir tarayıcıda açabilirsiniz.

Aşağıdaki yanıtı alırsınız:

{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

Yanıtın gövdesi aşağıdaki gibi görünmüyorsa şunları kontrol edin:

  1. 3. Adım: Hedef uç noktanızı değiştirme bölümünde açıklandığı gibi, hedef uç noktanız "https://mocktarget.impression.net/xml" şeklindedir:
    • Yanıt olarak "Merhaba Misafir" alırsanız hedef uç noktanın sonuna "/xml" eklemeniz gerekir.
    • 404 alırsanız "Apigee.net" platformuna eriştiğinizden ve "Apigee.com" uzantısına erişmediğinizden emin olun.
  2. Proxy'nizin en son düzeltmesi dağıtıldı. API proxy'sini dağıtma ve dağıtımını kaldırma bölümünde açıklandığı gibi API proxy'nizi yeniden dağıtmayı deneyin.

HTTP istek ve yanıt üst bilgilerini görmek için -vs seçeneğiyle curl öğesinde ayrıntı düzeyini etkinleştirin (v yanıtı ayrıntılı hale getirir ancak s daha az ilginç ayrıntıların bazılarını gizler). Örneğin:

curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool

Aşağıdaki gibi bir yanıt alırsınız. Yanıttaki Content-Type üst bilgisinin "application/json" olduğunu unutmayın. XML'den JSON'ye geçiş politikası, yanıtı geri göndermeden önce başlığı değiştirir.

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

Sonraki adım

Daha ayrıntılı bilgi