Genel Bakış
Amacı Nedir?
- API Proxy (API Vekil Sunucusu) ile entegrasyonda gelen JSON gövdelerini hedef mikroservisin beklediği şemaya dönüştürerek uyumluluk sağlar.
- Aynı politikayla birden fazla istemcinin üretip gönderdiği JSON formatlarını tek tip hale getirerek bakım maliyetini azaltır.
- JSON içeriklerini XML çıktısına dönüştürerek sadece XML kabul eden legacy Endpoint sistemleriyle köprü kurar.
- Koşullara göre çalıştırılarak belirli tenant, versiyon veya payload içeriğine göre dönüşüm senaryolarını dinamikleştirir.
Çalışma Prensibi
- İstek Gelişi: API Gateway’e gelen her HTTP/HTTPS isteği için, istemin kaynak IP adresi tespit edilir.
- Politika Kontrolü: JSON Dönüştürme politikası aktif ise, sistem aşağıdaki sırayla kontrol yapar:
- Condition (koşul) tanımlı mı? Varsa koşul sağlanıyor mu?
- Politika aktif mi (active=true)?
- Variable kullanılıyor mu yoksa Apinizer default mı?
- JSON Dönüşüm Kontrolü:
transformationTypealanı incelenir. JSON2JSON seçilmişse JOLT tanımı parse edilip istek gövdesi yeni JSON şemasına map edilir. JSON2XML seçilmişse ilgili bayraklar uygulanarak JSON içeriği XML’e çevrilir. - Karar Verme:
- Eşleşme Var: Dönüştürülen gövde request pipeline’ına geri yazılır, hedef Endpoint’e güncel içerik gönderilir ve log kaydına dönüşüm tipi işlenir.
- Eşleşme Yok: İstek orijinal yüküyle API Proxy (API Vekil Sunucusu) tarafından yönlendirilir; politika sayaçları güncellenmez.
- Hata İşleme: Politika kuralına uymayan istekler için özelleştirilebilir HTTP durum kodu ve hata mesajı döndürülür.
Özellikler ve Yetenekler
Temel Özellikler
- JSON2JSON Dönüşüm Motoru: JOLT spesifikasyonu ile alan yeniden adlandırma, hiyerarşi değiştirme ve veri zenginleştirme işlemlerini gerçekleştirir.
- JSON2XML Konfigürasyonu: Legacy sistemlere entegrasyon için JSON içeriklerini XML’e çevirirken null/boş alan yönetimi ve element paketleme seçenekleri sunar.
- Dönüşüm Test Laboratuvarı: Test Transformation Data modülü üzerinden JOLT şablonlarını canlı veriyle doğrulayıp çıktı farklarını inceleme imkânı verir.
- Aktif/Pasif Durum Kontrolü: Politikanın aktif veya pasif durumunu kolayca değiştirme (active/passive toggle). Pasif durumda politika uygulanmaz ancak yapılandırması saklanır.
- Koşul Bazlı Uygulama: Query Builder ile karmaşık koşullar oluşturarak politikanın ne zaman uygulanacağını belirleme (örn: sadece belirli endpoint’lere veya header değerlerine göre).
İleri Düzey Özellikler
- Global Politika Yayılım Kontrolü: Global politikalar güncellenirken kullanımda olan API Proxy ve Proxy Group listeleri otomatik kontrol edilip onay sürecine yönlendirir.
- Otomatik İsim Benzersizliği: Politika isimlerinin proje bazında çakışmaması için gerçek zamanlı doğrulama ve kullanıcıya görsel geri bildirim sağlar.
- Politika Akışı Entegrasyonu: Policy Flow modunda seçili politikayı diğer politikalarla zincirleyerek yeniden kullanım senaryolarına olanak tanır.
- Export/Import Özelliği: Politika yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Geliştirme, Test, Canlı Ortam) import etme. Versiyon kontrolü ve yedekleme imkanı.
- Policy Group ve Proxy Group Desteği: Birden fazla politikayı Policy Group içinde yönetme. Proxy Group’lara toplu politika atama. Merkezi güncelleme ve deploy işlemleri.
- Deploy ve Versiyonlama: Politika değişikliklerini canlı ortama deploy etme. Hangi API Proxy’lerde kullanıldığını görme (Policy Usage). Proxy Group ve Policy Group kullanım raporları.
Kullanım Senaryoları
Politika Parametrelerini Yapılandırma
Bu adımda, kullanıcı yeni bir politika oluşturabilir ya da mevcut politika parametrelerini yapılandırarak erişim kurallarını belirleyebilir. Tanımlanan parametreler, politikanın çalışma şeklini (örneğin hangi IP’lerin izinli olacağı, coğrafi kısıtlamalar, koşullu aktivasyonlar vb.) doğrudan etkiler. Bu sayede politika hem kuruma özel gereksinimlere göre özelleştirilebilir hem de merkezi olarak yönetilebilir.Yeni JSON Dönüştürme Politikası Oluşturma

Yapılandırma Adımları
Koşullar ve Hata Mesajı Özelleştirme panellerinin açıklaması için Politika Nedir? sayfasındaki Koşullar ve Hata Mesajı Özelleştirme (Error Message Customization) bölümlerini inceleyebilirsiniz.
Hata mesajı yapılandırmasının tüm katmanları, öncelik sırası ve senaryo örnekleri için Hata Mesajı Yapılandırma Rehberi sayfasına bakın.

