Genel Bakış
Amacı Nedir?
- API Proxy (API Vekil Sunucusu) üzerinden gelen JSON tabanlı çağrıların beklenen veri sözleşmesine uyup uymadığını otomatik olarak kontrol ederek hatalı verilerin arka uç sistemlere ulaşmasını engeller.
- JSONPath (
pathForBody) ifadesi üzerinden isteğin belirli bölümlerini hedefleyerek kapsamlı fakat esnek doğrulama senaryoları kurulmasına imkan tanır. - Birden fazla JSON Şema sürümünü aynı politika altında yöneterek farklı endpoint, versiyon veya istemci tiplerine göre uyarlanabilir doğrulama akışları sağlar.
- Koşul motoru ve hata mesajı özelleştirmesiyle, doğrulamanın hangi durumlarda tetikleneceğini ve istemcilere hangi mesajların döneceğini merkezi olarak kontrol eder.
Ç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 Şema Doğrulama 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 Şema Doğrulama:
pathForBodyolarak tanımlanan JSONPath ifadesiyle isteğin doğrulanacak bölümü elde edilir; bölüm, tanımlı tüm JSONschemaDefinitionListgirdilerine göre RFC 8259 uyumlu şema doğrulamasından geçirilir. - Karar Verme:
- Eşleşme Var: En az bir şema ile uyum sağlanırsa istek akışa devam eder ve hedef API Proxy cevabı döndürülür.
- Eşleşme Yok: Hiçbir şema ile uyum sağlanamazsa politika akışı sonlandırır ve tanımlı hata mesajı/HTTP kodu ile istemci bilgilendirilir.
- 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
- JSONPath Tabanlı Veri Hedefleme:
pathForBodyalanıyla isteğin hangi bölümünün doğrulanacağı seçilir; varsayılan$.ifadesi tam gövdede çalışır. - Çoklu JSON Şema Desteği:
schemaDefinitionListüzerinden birden fazla şema eklenir, her biri otomatik numaralandırılır ve farklı kullanım senaryolarına atanabilir. - Gömülü JSON Editörü: Şema tanımları, syntax vurgulu Apinizer code editor bileşeni üzerinde düzenlenerek doğruluk ve okunabilirlik artırılır.
- 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
- JSONPath Test Modülü: Test Transformation Data bileşeniyle
pathForBodyifadesi gerçek veriler üzerinde çalıştırılarak doğru alanın hedeflendiği anında doğrulanır. - Şema Sürümleme Stratejisi: Her yeni şema kaydı için otomatik
schemaNoüretimi sayesinde farklı versiyonlar izlenebilir ve gerektiğinde hızlıca devreye alınabilir. - Global/Lokal Politika Akışı: Global politikalar lokal politikalara dönüştürülebilir,
globalPolicyChangedInProxyolayları üzerinden kullanıcı etkileşimi sağlanır. - Export/Import Özelliği: Politika yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Development, Test, Production) 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 Şema Doğrulama 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.

