Kısa bir süre önce Windows Azure için pek çok yenilik duyurulmuştu. Özellikle Mobile Services tarafında da müthiş yenilikler var. Bunların arasında herkesin beklediği Custom API desteği de yerini almış görünüyor.

Custom API Derken?

Artık mobil servisimize gelen tüm HTTP isteklerini karşılayıp uygun cevabı istemci tarafına gönderebiliriz. Ayrıca tüm HTTP metodları da desteklenmektedir. İsterseniz konuyu daha fazla dallandırmadan varolan bir mobil servisimiz için nasıl Custom API oluşturabileceğimize bakalım.

Öncelikle Management Portal'ı açıyoruz ve sonra API sekmesinden Create a Custom API seçeneğini tıklayarak API oluşturma sihirbazını başlatıyoruz.

Create Custom API

Ekrandaki sihirbazdan API'ye bir isim verip HTTP metodları için ilgili izinleri ayarlıyoruz.
Custom API izinlerinin ayarlanması

Tamam butonuna bastığımızda gerekli konfigürasyonlar tamamlanıp API'miz bizim için arka tarafta oluşturuluyor olacak. Listeden oluşturduğumuz API'yi seçince de aşağıdaki gibi hali hazırda bir script ile geliyor olduğunu göreceksiniz. Yorum satırlarında da mobil servisimizin bir takım özelliklerine nasıl erişebileceğimizi gösteren scriptler yer alıyor.

API Template

Örnek olarak biz de GET metodunu kullanan ve mobil servisimizdeki Person tablosundaki kayıtları döndüren bir fonksiyon yazacak olursak aşağıdakine benzer bir script olacaktır diye düşünüyorum :)

Sample GET API

Peki her şey tamam da istemci tarafından API'mizi nasıl çağıracağız diyecek olursanız onu da .NET tarafında aşağıdaki gibi gerçekleştirebilirsiniz.

private async void GetPeople() {  
        var people = await mobileService
                     .InvokeApiAsync<List<Person>>("testapi", HttpMethod.Get, parameters: null);
        PeopleList = new ObservableCollection<Person>(people);
}

Kod bloğundan da anlaşılacağı üzere istemci tarafında InvokeApiAsync metodunu kullanarak API çağrımını gerçekleştirmiş olduk. Gördüğünüz gibi custom API oluşturmak inanılmaz derecede basit. Üstelik mobil servis altyapısını kullanarak yetkilendirme işlemlerini de çok rahatlıkla API’ye entegre edebiliyorsunuz. Son olarak bir sonraki sürümde .NET tarafında custom API oluşturma desteğinin de geleceği haberler arasında diyerek kapanışı yapıyorum :)

About the Author