API Proxy Grupları
API Proxy Grupları birden fazla API Proxy'nin bir grup halinde yönetilebilmesini sağlar.
API Proxy Grubuna eklenen politikalar ve uygulanan ayarlar, istek API Proxy Gruba geldiğinde çalıştırılır ve grupta yer alan API Proxy'lere iletilir.
2024.05.1 Patch Versiyonu ile birlikte;
- Bir API Proxy, birden fazla API Proxy Grubunda olabilir.
- Ortak politikalara ihtiyaç duyan API Proxy'lerin API Proxy Grup ile yönetilme özelliği kaldırılmıştır.
API Proxy Grubu Listesi
API Proxy Grubu listesi ilk açıldığında aşağıdaki görselde olduğu gibi mevcut API Proxy Grupları listelenir.
API Proxy Grubu Oluşturma
Yeni API Proxy Grup oluşturmak için API Proxy Grubu Listesi arayüzünde sağ üst köşedeki Yeni (Create) tuşuna tıklanır.
Açılan formda yeni oluşturulacak API Proxy Grubunun Ad ve Açıklama alanlarından en az Ad bilgisi girilerek Kaydet (Save) tuşuna tıklanır.
Kaydetme sonrası, API Proxy Grubunun biçimlendirme arayüzü açılır.
API Proxy Grubunu Biçimlendirme
Genel Bakış (Overview), Ayarlar (Settings) ve Geliştirme (Development) sekmelerinin biçimlendirmesi API Proxy'ninkilerle birkaç küçük farklılık dışında tamamen aynıdır.
Genel Bakış Sekmesi (Overview Tab)
Genel Bakış Sekmesi'ni içeren görsele aşağıda yer verilmiştir:
Genel Bakış Sekmesi konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.
Alan | Açıklama |
---|---|
Ad (Name) | API Proxy Grubunun adıdır. Zorunlu alandır. |
Açıklama (Description) | API Proxy Grubuna ilişkin açıklama/tanım bilgisidir. Girilmesi isteğe bağlıdır. |
Geçit Adresi (Relative Path) | API Proxy Grubuna erişim için kullanılacak sanal erişim adresidir. Geçit Adresini Aktive Et seçeneği işaretlenmişse görünür ve girilmesi zorunlu alandır. |
Proxy Grubu Anahtarı (API Proxy Group Key) | API Proxy Grup üzerinden JWT veya OAuth2 yetkilendirmesi yapılmak istendiğinde ihtiyaç duyulan Genel ve Gizli Anahtarların yönetildiği bölümdür. Detaylı bilgi için bu anahtarların API Proxy için nasıl yönetildiğine bakınız. |
API Proxy Grubu Ayarları | Detaylı bilgi için aynı ayarların API Proxy için nasıl yapıldığının anlatıldığı Genel Bakış Sekmesi (Overview Tab) sayfasına bakınız. |
API Proxy Grup Anahtarı (API Proxy Group Key) Bölümü
API Proxy Grubun erişim anahtarlarının yönetildiği bölümdür. Erişim anahtarları OAuth2 Kimlik Doğrulama Politikası için kullanılır.
Client Id ve Client Secret değerleri otomatik olarak oluşturulur ve kullanıcı yenilerinin oluşturulmasını isteyebilir. Yüklenmiş bir API Proxy Grup için anahtarlardan herhangi birisi yeniden oluşturulursa, anahtarların geçerli olabilmesi için API Proxy Grubun yeniden yüklenmesi gerekir.
API Proxy Grubu Swagger Arayüzünde Görüntüleme
API Proxy Group deploy edildikten sonra Deployment bölümünde ilgili erişim adresine ait Göster (Show) butonu gelir. Bu butona tıklandığında API Proxy Grubun JSON formatındaki Open API specification bilgisine ulaşılır.
Spec Info ayarlarını içeren diyalog görseline aşağıda yer verilmiştir:
API Tanım Dosyalarına Erişim
Tanım dosyalarının içeriği, Show bağlantısına tıklandığında yukarıdaki şekilde görüldüğü gibi açılır ve buradan kopyalanabilir. Ancak bu yöntem Apinizer platformu üzerinde çalışmakta olan API Geliştirici, API Testçi gibi rollerden kullanıcılar içindir. İstemciler bu arayüzlere erişemez.
İstemciler, tanım dosyalarına erişmek için API Proxy Grup'un yüklenmiş olduğu Ortamdaki erişim adresini aşağıdaki şekilde kullanabilirler:
Örneğin API Proxy'nin Production Ortamındaki erişim adresi https://api.apinizer.com/apigateway/apiProxyGroup olsun.
Tanım dosyalarına erişim için aşağıdaki adreslere istek gönderilebilir;
Swagger 2.x (JSON)
- https://api.apinizer.com/apigateway/apiProxyGroup?swagger
- https://api.apinizer.com/apigateway/apiProxyGroup?swagger&format=json
- https://api.apinizer.com/apigateway/apiProxyGroup?swagger.json
Swagger 2.x (YAML)
- https://api.apinizer.com/apigateway/apiProxyGroup?swagger&format=yaml
- https://api.apinizer.com/apigateway/apiProxyGroup?swagger.yaml
OpenAPI 3.x (JSON)
- https://api.apinizer.com/apigateway/apiProxyGroup?openapi
- https://api.apinizer.com/apigateway/apiProxyGroup?openapi&format=json
- https://api.apinizer.com/apigateway/apiProxyGroup?openapi.json
OpenAPI 3.x (YAML)
- https://api.apinizer.com/apigateway/apiProxyGroup?openapi&format=yaml
- https://api.apinizer.com/apigateway/apiProxyGroup?openapi.yaml
Ayarlar Sekmesi (Settings Tab)
Ayarlar sekmesi üzerinden API Proxy Grubu için aşağıdaki ayarlamalar yönetilebilir. Bu ayarların detayı için Ayarlar Sekmesi (Settings Tab) sayfasına bakınız.
- CORS
- Cache
XML Hata Yanıt Şablonunu Özelleştirme
- JSON Hata Yanıt Şablonunu Özelleştirme
- İletilen IP Başlık Parametreleri
- Ignore Error Response Template: Error response template'in ignore edilmesi ayarı, API Proxy Group bazında ayarlanabilmektedir.
- API Proxy Trafiği Log Ayarları
Ayarlar Sekmesi'ni içeren görsele aşağıda yer verilmiştir:
Geliştirme Sekmesi (Development Tab)
Geliştirme sekmesinde API Proxy Grubunun politikaları yönetilir. Detaylı bilgi için API Proxy için politikaların nasıl yönetildiğinin anlatıldığı Geliştirme Sekmesi (Development Tab) sayfasına bakınız.
Geliştirme Sekmesi'ni içeren görsele aşağıda yer verilmiştir:
API Proxy'ler Sekmesi (API Proxies Tab)
API Proxy Grup içerisinde yer alan API Proxy'ler ve Deployment bilgileri bu bölümden yönetilir.
API Proxy Grup deploy edilmemiş ise, URL kısmı boş gözükür.
API Proxy'ler Sekmesi'ni içeren görsele aşağıda yer verilmiştir:
Uç Noktaları Sekmesi (Endpoints Tab)
Uç Noktaları Sekmesi'ni içeren görsele aşağıda yer verilmiştir:
Uç Nokta Test Etme
Uç noktaları test etmek için test butona tıklanır.
Uç Nokta Detayını Görüntüleme
Uç noktaların detayını görüntülemek için satır sonunda yer alan butona tıklanır.
Uç nokta detayını içeren görsele aşağıda yer verilmiştir:
Bu ekranda eğer isteğin Tip bilgisi ya da yanıtın Model İçeriği bulunursa, tıklanarak detayı görüntülenebilir.
Aşağıdaki örneklerde kullanılacak adresler şunlar olsun:
- Ortam'ın erişim adresi: https://demo.apinizer.com/apigateway
- API Proxy Grubu için verilen Geçit Adresi: /apiProxyGroup1
- API Proxy Grubunun yüklendiği ortamdaki adresi: https://demo.apinizer.com/apigateway/apiProxyGroup1
- API Proxy için verilen Geçit Adresi: /petstore
- API Proxy'nin yüklendiği ortamdaki adresi: https://demo.apinizer.com/apigateway/petstore
- Erişilmek istenen endpoint: /pet/findByStatus
- Erişilmek istenen endpoint'in HTTP metot değeri: GET
API Proxy'e Doğrudan Erişim
API Proxy Grubuna eklenmiş API Proxy'lere doğrudan erişimde herhangi bir değişiklik olmaz. İstemciler, yüklendikleri Ortamlara göre oluşturulan adresleri aracılığıyla API Proxy'lere erişmeye devam eder.
GET isteğinin gönderileceği adres:
https://demo.apinizer.com/apigateway/petstore/pet/findByStatus?status=pending
API Proxy Gruba Erişim
API Proxy'lerin metot/endpoint'lerine API Proxy Grubunun adresi üzerinden erişilebilir.
REST tipindeki API Proxy'nin bir endpoint'e erişim
Kullanılacak erişim adresi, API Proxy Grubu için belirtilen geçit adresine, erişilecek metot/endploint'in adresi eklenerek bulunur. Bu işlem sırasında API Proxy'nin kendi adresi dikkate alınmaz.
GET isteğinin gönderileceği adres:
https://demo.apinizer.com/apigateway/apiProxyGroup1/pet/findByStatus?status=pending
Bir metot/endpoint'e API Proxy Grubu üzerinden erişiliyorsa API Proxy'nin adresi dikkate alınmaz. Metot/endpoint sanki doğrudan API Proxy Grubuna aitmiş gibi davranılır ve Metot/endpoint için URL, API Proxy Grubunun adresi ile oluşturulur.
API Proxy Grubundaki REST tipindeki API Proxy'ler içinde aynı adresli metot/endpoint ve HTTP metoduna sahip birden fazla metot/endpoint varsa, istek ilk bulunan metot/endpoint'e gider.
API Proxy grubunun içindeki herhangi bir API Proxy'ye ait path parametresi kullanan bir metot/enpoint'den dolayı, grup içindeki diğer API Proxy'lere ait bazı method/endpoint'lere erişilemez hale gelebilir.
SOAP tipindeki API Proxy'nin bir metot/endpoint'ine erişim
API Proxy Grubunun erişim adresine, çağrılmak istenen metodun SOAPAction header'ı ve ilgili SOAP mesajı ile istek göndermek yeterlidir.
API Proxy Grubundaki SOAP tipindeki API Proxy'ler içinde aynı metota/SOAP Action'a sahip birden fazla metot varsa, istek ilk bulunan metot'a gider.