Ana içeriğe atla
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.
Hızlı Başlangıç 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.

API Proxy Oluşturma Adımları

1- Ana menüde Geliştirme → API Proxy’ler (Development → API Proxies) ögesi seçilir. 2- Açılan arayüzde sağ üstteki +Add API Proxy butonuna tıklanır. API Proxy Oluşturma Butonu 3- Yeni oluşturulacak API Proxy için aşağıdaki seçenekler görülür. API Proxy Tip Seçenekleri

API Proxy Tipleri

Oluşturulacak API Proxy için uygun tip seçilir. Mevcut API Proxy tipleri aşağıdaki tabloda açıklanmıştır.
TipAçıklama
Swagger 2.xSwagger 2.x tanımından REST API Proxy oluşturmak için kullanılır. Detaylı bilgi için buraya tıklayınız.
WSDL (SOAP)WSDL tanımından SOAP API Proxy oluşturmak için kullanılır. Detaylı bilgi için buraya tıklayınız.
OpenAPI/Swagger 3.0.xOpenAPI/Swagger 3.0.x tanımından REST API Proxy oluşturmak için kullanılır. Detaylı bilgi için buraya tıklayınız.
Reverse ProxyHTTP Reverse Proxy oluşturmak için kullanılır. Gelen istekleri, ilgili metot/endpoint olup olmadığına bakmaksızın Backend API’ye iletir ve Backend API’den dönen yanıtları istemciye geri döndürür. Tanım dosyasına gerek yoktur ve Backend API’nin metotlarını/endpointlerini tek tek tanımlamaya gerek yoktur. Backend API’nin kök bağlamını (root context) vermek yeterlidir.
No-Spec APIDaha önce code-first yaklaşımıyla geliştirilmiş ve tanım dosyası olmayan bir API için, metotları/endpointleri manuel olarak tanımlama ve API Proxy oluşturma imkanı sağlar. Apinizer, tanımlara göre Swagger veya OpenAPI formatlarında API tanım dosyalarını otomatik olarak oluşturur.
gRPCGelen gRPC isteklerini Backend gRPC Sunucusuna ileten ve Backend gRPC Sunucusundan dönen yanıtları istemciye geri döndüren gRPC Proxy oluşturmak için kullanılır. Tanım dosyasına gerek yoktur, ancak proto dosyası kullanılabilir.
WebSocketWebSocket Proxy oluşturmak için kullanılır.
ConnectorKonnektö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.

API Tanım Belgesi Kaynağı

Ayrıca seçeneklerin altlarında bazı ek seçenekler olduğu da görülmektedir.
AlanAçı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: https://petstore.swagger.io/v2/swagger.json, http://www.dneonline.com/calculator.asmx?WSDL
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. Swagger URL Seçimi 4- Gelen arayüzde aşağıdaki veri alanları bulunmaktadır. Spec Authorization Formu
AlanAçı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.
URLTanı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. Spec Authorization Anahtarları 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. URL Parse Formu 5- URL alanında verilen adresteki Swagger dosyası ayrıştırılarak API’nin bilgileri görüntülenir. API Proxy Formu Doldurulmuş Gelen arayüzdeki alanlar aşağıdaki tabloda açıklanmıştır.
AlanAçı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.
Routing AddressesBackend API’nin erişim adresleri. Status checkbox ile aktif/pasif edilebilir. Birden fazla adres load balancing için eklenebilir.
Client Routeİstemcilerin API Proxy’e erişim için kullanacağı yönlendirme yöntemi (Path, Method veya Header bazlı).

Relative Paths:
API Proxy’nin erişime açılan adresinin bir parçası. Gelen isteklerin uygun API Proxy’e yönlendirilmesi için kullanılır.

Örnek:
• Apinizer adresi: https://demo.apinizer.com
• Relative Path: /petstoreProxy
• Ortam adresi: /apigateway
• Endpoint: /findByStatus
• Tam erişim adresi: https://demo.apinizer.com/apigateway/petstoreProxy/findByStatus

Dikkat edilmesi gerekenler:
• Uygulama bazında tekil olmalıdır
• Başka bir path’in başlangıcı olamaz
• Proje ayarlarında Enable Relative Path aktifse, proje path’i otomatik önüne eklenir

gRPC için: Eğer API Proxy tipi gRPC ise bu değer proto dökümanındaki “/packagename.servicename” şeklinde olmalıdır. Örneğin aşağıdaki gibi bir proto dosyasına sahip ise relative path değeri “/hello.HelloService” şeklinde olmalıdır:
proto<br/>syntax = "proto3"<br/>package hello;<br/>service HelloService {<br/>}<br/>

WebSocket için: Eğer API Proxy tipi WebSocket ise relative path değerinin nasıl girilmesi gerektiği ile ilgili şu sayfayı ziyaret edebilirsiniz.

Methods:
API Proxy’nin desteklediği HTTP metodları (GET, POST, PUT, DELETE, PATCH vb.)

Hosts:
Backend servislerin host adresleri. “Add a host” ile yeni adres eklenebilir.

Headers:
API Proxy seviyesinde eklenecek HTTP header’ları. “Add a header” ile yeni header eklenebilir.

Detaylı bilgi için bakınız: API Proxy Client Route Kullanım Kılavuzu
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: Üretici (Publisher): Backend API, firma/kurumun kendisi tarafından açılmıştır. Tüketici (Consumer): Backend API, başka bir firma/kuruma aittir. O API’ye erişmek için API Proxy oluşturulmaktadır. Üretici ve Tüketici (Publisher & Consumer): Başka bir firma/kuruma ait olan bir Backend API için oluşturulan API Proxy, 3. taraflara da kullandırılmak üzere oluşturulmaktadır.
Paylaşım Tipi_(Sharing Type)_Backend API’nin nasıl paylaşılacağı belirtilir. Alabileceği değerler: Dış (External), İç (Internal), Dış ve İç (External and Internal)

İlgili Sayfalar