Bu senaryoda sadece bir veri tabanı bağlantısı sağlanarak Apinizer üzerinde DB-2-API'nin nasıl geliştirileceği anlatılacaktır.

Aşağıdaki grafikte yer alan numaralandırmalar işlemlerin yapılış sırasına aittir.

  1. API Client, Apinizer üzerinde yer alan DB-2-API içerisinde bulunan bir endpoint'e istekte bulunur.
  2. Apinizer bu isteği veri tabanına gönderir, veri tabanı üzerinde ilgili endpoint'e ait sorgu çalıştırılır.
  3. Veri tabanından ilgili sorguya ait yanıt Apinizer'a gelir.
  4. Apinizer, API Client'a yanıtı gönderir.


Senaryo birkaç adımdan oluşmaktadır, bunları sırasıyla listelenirse;

  1. Kullanmakta olduğumuz MySQL veri tabanımızın Apinizer'la bağlantısını sağlanması.
  2. /getSalariesByEmpNo isimli endpoint'e ait sonucun getirilmesi.
  3. /updateDepartmentByDeptNo isimli endpoint ile veri tabanında bulunan kaydın güncellenmesi.
  4. /deleteSalariesByEmpNo isimli endpoint ile veri tabanında bulunan kaydın silinmesi.
  5. Oluşturulan bu DB-2-API' nin deploy edilip bütün endpointlerin test edilmesi.

İlk olarak veri tabanı bağlantısı gerçekleştirilir.

Veri Tabanı Bağlantısının Gerçekleştirilmesi

Bunun için Connection Management menüsü altında yer alan Database ifadesi seçilir.


Daha önceden herhangi bir veri tabanı bağlantısı yapılmadığı için bu sayfa boş gözükmektedir, sağ üst köşede yer alan Create butonuna tıklanır.

MySQL veri tabanı bağlantısı oluşturulmaya başlanır.


Bu sayfada yer alan girdi alanları incelenecek olursa;

  • Name alanı ile bağlantısını sağladığınız veri tabanının ismi yazılır.
  • Description alanı ile oluşturulacak olan bağlantıya açıklama yapılır.
  • Database Type ile oluşturulacak bağlantının tipi seçilir.
  • JDBC URL alanı ile bağlanılacak olan veri tabanının adresi yazılır, örnek bağlantı cümlesi de input alanı içerisinde yer almaktadır.
  • Username alanı ile bağlanılacak veri tabanı için girilmesi gereken kullanıcı adı, Password alanına da bağlantı esnasında girilmesi gereken parola bilgisi yazılır.
  • Bu alanlar haricinde kalan diğer alanlar hakkında bilgi için buradaki linke tıklayabilirsiniz. 
  • Gerekli olan veri tabanı bağlantı bilgileri girildikten sonra yukarıda ortada yer alan "Test Connection" butonu ile bağlantı test edilir, Save And Deploy butonuna tıklanır ve bağlantı oluşturulur. 


Kaydettikten sonra ise elde edilecek ekran görüntüsü aşağıdaki görselde yer almaktadır.

DB-2-API'nin Oluşturulması

Veri tabanı bağlantısı gerçekleştirildikten sonra DB-2-API oluşturma aşamasına geçilir.

Bu aşama için Development menüsünde bulunan API Creator menüsünün altında yer alan DB-2-API seçeneği seçilir.


DB-2-API seçeneği seçildikten sonra ekrana boş bir sayfa gelmektedir.

Bunun sebebi ise daha önce herhangi bir DB-2-API oluşturulmamış olmasıdır.

Bu ekranda sağ üst köşede yer alan Create butonuna tıklanarak DB-2-API oluşturmaya başlanır.


Create butonuna tıkladıktan sonra karşımıza çıkan sayfa aşağıda yer almaktadır.


Name alanından DB-2-API'ye bir isim verilmesi gereklidir.

Bu alan boş geçilemez bir alandır.

İsteğe göre de açıklama eklenebilir.

Name alanı doldurulduktan sonra Save and Next butonuna tıklanır ve bir sonraki adıma geçiş yapılır.

Bu sayfada artık DB-2-API oluşturabilir.

Kırmızı dikdörtgen içerisinde yer almakta olan Add butonuna tıklayarak ilk endpoint oluşturulur.


Aşağıdaki görselde yer alan alanlar incelenecek olursa;

  • HTTP Method alanı ile oluşturulacak olan endpoint'in (GET,POST,DELETE,PUT vb.) metotları seçilir.
  • Name/URL alanına endpoint'in ismi girilir.
  • Description alanına endpoint ile ilgili açıklama eklenebilir.
  • Connection Pool Definition alanı ile bağlantısı sağlanacak olan veri tabanı seçilir.
  • Timeout alanı ile oluşturulan sorgunun kaç saniye sonra timeout olacağı belirtilir.
  • Type of SQL Statement ifadesi ile yazılacak olan SQL sorgusunun hangi tipte oluşturulacağı seçilir.
  • Enter SQL Statement alanına ise yazılacak SQL sorgusu girilir.  


Bu alan tanımlamaları yapıldıktan sonra test senaryosu içerisinde yer alan endpoint'ler sırasıyla oluşturulur. 

İlk olarak /getSalariesByEmpNo isimli endpoint oluşturulacaktır.

Bu endpoint'in kullanılabilmesi için ise "Query" tipinde bir parametre gönderilmesi gereklidir.

 

Yukarıda tek tek anlatılan kısımlara bu endpoint'de kullanılacak alanlar girilmiştir.

Oluşturulan Query tipindeki parametreye ait görselde aşağıda yer almaktadır.


Parametrenin özellikleri incelenecek olursa;

  • Data Type integer olduğu, Repetition Type ifadesinin ise Single olduğu görülmektedir.
  • Kullanacağımız Query parametresi tek bir alan içerdiği için bu alan seçilir.
  • Bu alanın bir diğer veri tipi ise Multiple ifadesidir.
  • Parameter Type olarak Query ve Body seçenekleri bulunmaktadır.
  • Test Value ifadesi ile de test edilecek olan değer yazılır ve görselde de görüldüğü üzere örnek bir yanıt elde edilir.
  • Save butonuna tıklanarak ilk oluşturulan endpoint kaydedilir.

İkinci oluşturulması gereken endpoint ise /updateDepartmentByDeptNo isimli endpoint'dir. 

Bunun için ise aşağıdaki görselde de görüldüğü üzere kırmızı dikdörtgen içerisinde yer alan Add butonuna tıklanması gereklidir. 


Tıkladıktan sonra yan tarafta endpoint'in oluşturabileceği alan ekrana gelmektedir.

Oluşturulacak endpoint Body tipinde bir parametre almaktadır. 


Yukarıda tek tek anlatılan kısımlara bu endpoint'de kullanılacak alanlar girilmiştir.

Oluşturulan Body tipindeki parametreye ait görselde aşağıda yer almaktadır.


Bu endpoint'te iki farklı parametre değeri aldığı için parametreler ayrı ayrı olacak şekilde tanımlanmıştır.

Oluşturulan endpoint bir update işlemi gerçekleştirdiği için Parameter Type olarak Body ifadesi seçilmiştir.

Yazılan SQL sorgusu da test edildiğinde yukarıdaki görselde yer alan yanıtı elde edilir.

Son oluşturulması gereken endpoint ise /deleteSalariesByEmpNo isimli endpoint'dir. 

Bu endpoint'i eklemek için aşağıdaki görselde kırmızı dikdörtgen içerisinde yer alan Add butonuna tıklanır ve sağ tarafta açılan ekran üzerinden endpoint oluşturulur.


Gerekli alanlar doldurduktan sonra endpoint içerisinde yer alacak olan Query parametresi oluşturulur.


Oluşturulan Query parametresi ile yazılmış olan SQL sorgusu test edilir ve aşağıdaki görselde yer alan örnek yanıt elde edilir.


Bu endpoint kaydedilir ve oluşturulacak olan DB-2-API'nin son hali de aşağıdaki görselde yer alır.

API'de bulunan endpoint'ler solda yer alan dikdörtgen içerisinde yer almaktadır.

Sağ üst köşede yer alan Create API Proxy butonuna tıklanır.

DB-2-API'den API Proxy Oluşturulması

Bu sayfada Name alanına DB-2-API'den oluşturulacak API Proxy'ye isim verilir.

Relative Path ifadesine /db2api path ifadesi yazılır.

Burada yazılan adres API Proxy'nin dışarıya açılacağı adres olacaktır.

Sağ üst köşede yer alan Save butonuna tıklanır ve proxy kaydedilir.


Kaydetme işlemi gerçekleştikten sonra ise aşağıdaki görselde yer alan sayfaya gelinir.

API Proxy'nin Test Edilmesi

Burada yukarıda bulunan ve görselde kırmızı dikdörtgen içerisine alınmış Deploy butonuna basarak API Proxy deploy edilir.

Proxy deploy edildikten sonra sırasıyla oluşturulan endpoint'ler test edilir.

Test işlemleri için Develop sekmesi seçilir.


/getSalariesByEmpNo isimli endpoint seçilir ve Test Endpoint butonuna tıklanır.  


Query parametresi olarak 10005 değeri girilir ve kırmızı dikdörtgen içerisinde yer almakta olan yanıt elde edilir.


Bu endpoint'i test ettikten sonra ikinci endpoint olan /updateDepartmentByDeptNo isimli endpoint test için seçilir.

Test Endpoint butonuna tıklanır.


Bu endpoint Body içerisinde iki adet veri istediği için bunlar key/value biçiminde verilir.

Send butonuna tıkladığında yanıt olarak kırmızı dikdörtgen içerisinde yer alan yanıt elde edilir.


Son olarak /deleteSalariesByEmpNo isimli endpoint test için seçilir.

Test Endpoint butonuna tıklanır.


Bu endpoint Query tipinde parametre almaktadır, değer olarak 10005 değerini girip Send butonuna tıkladığında elde edilen yanıt ise kırmızı dikdörtgen içerisinde yer almaktadır.