Yazılım Geliştiriciler için Azure: Azure API Management – Bölüm 3 (Blank API ve Mocking)
  1. Anasayfa
  2. Microsoft Azure

Yazılım Geliştiriciler için Azure: Azure API Management – Bölüm 3 (Blank API ve Mocking)

0

2. bölümde APIM üzerinden Developer Portal oluşturup publish etmiştim. Bu bölümde de Azure API Management (APIM) üzerinden API tanımı yapacağım. Resim-1‘de göreceğiniz gibi oluşturduğumuz APIM servisini Azure Portal üzerinden görüntülediğimde sol menüde APIs altında yer alan yine aynı isimli seçeneği seçtiğimde karşıma yeni API eklemek için farklı seçenekler çıkıyor. Buradan boş bir API tanımı (Blank API) yapabilir, mevcut API’larınızı url vererek (OpenAPI), WADL ya da WSDL ile servise tanımlayabilirsiniz. Bunlar dışında Logic App, App Service ve Function App de ekleyebiliyorsunuz.

Resim-1

Blank API ile başlayalım. Blank API tanımı için Resim-2‘deki bilgileri girerek hızlıca bir API oluşturabilirsiniz.

Resim-2

Eğer Basic yerine Full seçerseniz de Resim-3’te göreceğiniz bilgileri doldurmanız gerekecek. Basic ile devam ediyorum ve apim-blank adında bir API tanımı yapıyorum, Web service URL ve API URL Suffix‘i boş bırakıyorum.


Resim-3

Create butonuna bastıktan sonra karşıma Resim-4‘te göreceğiniz ara yüz çıkıyor. Design sekmesinden API’a policy’ler tanımlayabiliyoruz. Policy tanımı yapabileceğimiz 4 kısım var:

  1. Frontend
  2. Inbound processing
  3. Backend
  4. Outbound Processing

Resim-4’te göreceğiniz ok işaretlerinden de anlayacağınız üzere request’in gelişi ve response’un dönüşü sırasında policy tanımı yapabileceğimiz farklı katmanlar bulunuyor. Inbound, Backend ve Outbound için farklı tiple policy’ler ekleyerek request ve response üzerinde herhangi bir kod değişikliği yapmadan çok hızlı bir şekilde modifikasyonlar yapabiliyoruz.

Resim-4

Frontend katmanında kalem işaretine tıkladığımda Resim-5‘te göreceğiniz bir JSON dosyası açılıyor, buradan ilgili alanları değiştirebilirsiniz.

Resim-5

Inbound Processing katmanında ise Resim-6‘da göreceğiniz gibi bir XML dosyası ve hazır snippet’lara erişebiliyorsunuz. Snippet kullanmadan da ctrl+space ile otomatik tamamlama özelliği destekleniyor. Burada göreceğiniz <base /> ise önce hangi policy çalışsın (bir önceki katmanda yer alan policy’den önce mi sonra mı) kısmını belirlemek için kullanılıyor. Policy’leri API bazlı, metot bazlı ve product bazlı olarak ekleyebiliyoruz. Product konusuna bir sonraki bölümde bahsetmek istiyorum ama kısaca birden fazla API’ı gruplamak için kullandığımızı söyleyebilirim.


Resim-6

Şimdi yeni bir operation yani bir method ekleyelim. Resim-7‘de göreceğiniz gibi sol taraftaki Add operation‘a tıkladığımda açılan ekranda Display name, Name, URL (HTTP method seçimi ile), Description ve Tags alanları çıkıyor. Alt kısımda ise Template, Query, Headers, Request ve Responses seçenekleri mevcut. Bu kısımlardan da ilgili tanımlamaları yapabiliyorsunuz. Örnek olarak kitap listesi getiren bir servis ekliyorum.

Resim-7

Bu servise bir de örnek response ekleyeceğim, Responses sekmesinden öncelikle Add response ile 200 OK yani HTTP response code’u, Represantations‘a da bir JSON array ekliyorum (Resim-8).

Resim-8

Backend olarak henüz bir sunucuya bağlamadığımız için burada test edeceğimiz en güzel özelliklerden birisi de özellikle uygulama test aşamasındaki büyük sorunlardan biri olan mocking, yani test verisi hazırlamak ve bu verileri servisin dönmesini sağlamak. APIM üzerinde mock responses sayesinde bu sorundan kolaylıkla kurtulabiliyoruz.

Metoda Inbound Processing üzerinden bir Inbound policy eklemek istiyorum. Burada Resim-6‘da kullandığımız yönetin yanında Resim-9‘da göreceğiniz gibi daha kolay bir şekilde de policy tanımı yapabiliyoruz.

Resim-9

Mock responses seçeneğini seçtikten sonra Resim-10‘da göreceğiniz gibi bir ekran karşılaşıyorum. Burada da response olarak hangi HTTP koduna karşılık olarak mock dönmek istediğimi seçiyorum (200 OK).

Resim-10

Değişiklikleri kaydettikten sonra Resim-11‘de göreceğiniz gibi üst kısımda Mocking is enabled mesajı ve Inbound processing altında mock-response policy’yi görebiliyorum.

Resim-11

Şimdi sırada bu değişiklikleri test etmek var. Üst menüde yer alan Test sekmesi üzerinden API üzerindeki metotları test edebiliyoruz (Resim-12). Test sonrasında da beklediğim sonucu başarılı bir şekilde görebiliyorum.

Resim-12

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

https://docs.microsoft.com/en-gb/azure/api-management/

TAGs: Azure, Azure Portal, Yazılım Geliştiriciler için Azure, API, API Management, API, Application Programming Interface, Policy, Inbound Policy, HTTP Request, HTTP Response, Mock, Mock Response

Bu İçeriğe Tepkin Ne Oldu?
  • 1
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi'nde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi'nde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı QBasic ile başlayan Mert, .NET ve SQL Server gibi Microsoft teknolojileri ile devam etmiş; yüksek lisans tezini ise Linux konusunda yapmıştır. Netaş ve Ziraat Teknoloji gibi sektörün önde gelen firmalarında C#, .NET, SQL Server, Cisco Contact Center ürünleri ve Linux üzerine çalışmış, bir çok firmaya da bu konularda danışmanlık vermiştir.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir