API Proxy Oluşturma
Apinizer ile, var olan bir API/Web Servisi Backend API olarak kullanıp API Proxy oluşturmak ya da Backend API olmadan bir API Proxy oluşturup API olarak sunmak çok kolaydır. Bu bölümde Swagger 2.x formatındaki bir API'nin URL bilgisi kullanılarak nasıl API Proxy oluşturulabileceği gösterilecek, bununla ilgili seçenek ve veri alanlarının detayları anlatılacaktır.
Aşağıda örnek bir API Proxy oluşturulurken izlenen adımlar Hızlı Başlangıç sayfasında anlatılanlarla aynı olmakla birlikte, bu bölümde veri alanlarına ilişkin açıklamalar bulunmaktadır.
1- Ana menüde Geliştirme → API Proxyler (Development → API Proxies) ögesi seçilir.
2- Açılan arayüzde sağ üstteki +Create butonuna tıklanır.
3- Yeni oluşturulacak API Proxy için aşağıdaki seçenekler görülür.
Tip | Açıklama |
---|---|
Swagger 2.x | REST protokolü için yaygın olarak kullanılan API Tanım Dosyası standardıdır. Detaylı bilgi için buraya tıklayınız. |
WSDL (SOAP) | SOAP protokolünün Web Servis Tanım Dosyası standardıdır. Detaylı bilgi için buraya tıklayınız. |
OpenAPI/Swagger 3.0.x | REST protokolü için Swagger'dan daha sonra oluşturulmuş bir API Tanım Dosyası standardıdır. Detaylı bilgi için buraya tıklayınız. |
Reverse Proxy | Gelen istekleri, bir Backend API'ye öyle bir metot/endpoint olup olmadığına bakmadan gönderip, Backend API'den dönen yanıtları istemciye döndürmek için kullanılır. Bir tanım dosyasına ihtiyaç duyulmadığı gibi, Backend API'nin metot/endpoint'lerini tek tek tanımlaya da gerek kalmaz. Backend API'nin kök adresini (root context) vermek yeterli olur. |
No-Spec API | Code-first geliştirilmiş ve herhangi bir tanım dosyası bulunmayan bir REST API'nin ve metot/endpoint'lerinin manuel olarak tanımlanmasını ve bunun için bir API Proxy oluşturulmasını sağlar. Yapılan tanımlara göre Swagger ya da OpenAPI formatlarında API tanım dosyalarını otomatik olarak üretir. |
Connector | Konnektörlerden API proxy'si oluşturma yeteneği sağlar. Bu özellik, HTTP'yi farklı protokollere (Kafka, RabbitMQ, ActiveMQ, Mail... vb gibi) dönüştürme imkanı sağlar. Konnektörler hakkında daha fazla bilgi edinmek için lütfen bu sayfayı ziyaret edin. |
KPS | KPS, Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü tarafından tutulan kişiye ait nüfus ve yerleşim yeri bilgilerine kamu kurumları ve diğer tüzel kişilerin güncel ve güvenli bir şekilde, 7 gün 24 saat esasıyla çevrimiçi olarak erişmesine imkân sağlayan bir sistemdir. Bu sistemin servislerine yalnızca yetkilendirilmiş istemciler erişebilmektedir. Servislerin WSDL tabanlı ve istemci konfigürasyonunun karmaşık olması ve bir kurumdaki ilgili her istemci uygulamaya kullanıcı adı/parola bilgilerinin dağıtılmak zorunda kalması, kurumlar açısından zorluklara neden olmaktadır. KPS tipinde API Proxy oluşturma yeteneği, bu kullanıcı adı/parola çiftinin tek noktadan yönetilmesi ve KPS servislerine istemci olma detaylarının otomatik olarak ele alınmasını sağlayarak ciddi kolaylıklar sağlar. KPS seçeneğini aktifleştirme bilgileri için buraya tıklayınız. |
Ayrıca seçeneklerin altlarında bazı ek seçenekler olduğu da görülmektedir.
Alan | Açıklama |
---|---|
URL Gir (Enter URL) | Kendisi için API Proxy oluşturulacak API'nin API Tanım belgesinin erişilebilir olduğu URL bilinmektedir. Bu URL belirtilerek API Proxy oluşturulabilir. Örnekler: |
Dosya Yükle (Upload File) | Kendisi için API Proxy oluşturulacak API'nin API Tanım belgesi bir dosya olarak kayıtlı halde kullanıcıda ise bu dosya yüklenerek API Proxy oluşturulabilir. |
API Tanım Belgesi Seç (Select API Spec) | Kendisi için API Proxy oluşturulacak API için, API Tanım Belgesi Editörü (API Spec Creator) ile önceden oluşturulmuş olan bir API Tanım Belgesi kullanılarak API Proxy oluşturulabilir. |
Oluşturulacak API Proxy için uygun olan tip ve seçenek seçilir. Bu örnek için Swagger 2.x tipinin URL Gir (Enter URL) bağlantısına tıklanır.
4- Gelen arayüzde aşağıdaki veri alanları bulunmaktadır.
Alan | Açıklama |
---|---|
Spec Authorization Kullan (Use Spec Authorization) | Bazı tanım dosyaları, içeriklerinin görüntülenebilmesi için istemcinin yetkilendirilmiş olduğunu kontrol eder. Bunun için HTTP isteği içerisinde kimlik doğrulama verilerinin gönderilmesi gerekir. Eğer erişilecek URL'deki tanım dosyası böyle bir dosya ise, bu kutu işaretlenerek kimlik bilgilerini girilir. |
URL | Tanım dosyasına erişilecek adrestir. |
Spec Authorization Kullan seçeneği işaretlenirse aşağıdaki tablo gelir ve yetkilendirme için gerekli olan anahtarlar eklenir.
Bu örnek için Spec Authorization Kullan seçeneğine ihtiyaç yoktur. URL alanına https://petstore.swagger.io/v2/swagger.json adresi yazılıp sağ taraftaki Parse tuşuna tıklanır.
5- URL alanında verilen adresteki Swagger dosyası ayrıştırılarak API'nin bilgileri görüntülenir. Gelen arayüzdeki alanlar aşağıdaki tabloda açıklanmıştır.
Alan | Açıklama |
---|---|
Adı (Name) | API Proxy'ye kullanıcı tarafından verilen addır. Arayüzlerde bu ad görünür. |
Açıklama (Description) | API Proxy'nin tanım bilgisidir. |
Adresler (Addresses) | Backend API'nin erişim adresleridir. |
Geçit Adresi (Relative Path) | Geçit Adresi bu API Proxy'nin erişime açılan adresinin (URL) bir parçasıdır. Gelen isteklerin uygun API Proxy'e yönlendirilmesi için API Gateway'in adresi kullanılır. Bunun için aşağıdaki örnekte olduğu gibi, yüklenen (deployed) her API Proxy için Geçit Adresi de kullanılarak biricik bir adres oluşturulur:
Bu değer oluşturulurken bazı kriterlere dikkat edilmelidir;
|
Backend API Versiyon (Backend API Version) | API Proxy'e tanımlanan Backend API Versiyonudur. |
Kategori Listesi (Category List) | API Proxy'lerin yönetiminde kolaylık sağlamak üzere kategoriler oluşturulabilir. Kategori listesi, API Proxy'nin hangi kategorilere ait olduğunu belirlemek için kullanılır. |
Kullanım Şekli (Usage) | Backend API'nin kaynağının kim olduğunu belirtir. Alabileceği değerler:
|
Paylaşım Tipi (Sharing Type) | Backend API'nin nasıl paylaşılacağı belirtilir. Alabileceği değerler:
|
Adresler (Addresses) kısmında https://petstore.swagger.io/v2 kutusu işaretlenip Geçit Adresi (Relative Path) alanına örneğin /petstoreProxy yazılarak sağ üstteki kaydet tuşuna tıklanmasıyla API Proxy oluşturma işi tamamlanmış olur.