ASP.NET MVC Web Api
ASP.NET MVC Web Api
Salam, bu məqaləmdə Asp.Net MVC 4.0 ilə birlikdə gələn Web Api-dən danışmaq istəyirəm.
Api nədir? Nə işə yarayır?
Api açılışı Application Programming Interface (Tətbiqi Proqramlaşdırma İnterfeysi) deməkdir və müəyyən bir proqramın çölə açılan müəyyən qapıları kimi başa düşmək olar. Məntiq olaraq bir server (server) və bir müştəri (client) olaraq başa düşmək olar. Müştəri ona hər hansı sorğu göndərir, server icara edib geriyə bir məlumat göndərir. Biz Api ilə istifadə üçün lazım müəyyən məlumatları almaq, yeniləmək və ya silmək üçün istifadə edə bilərik.
Api-lərə niyə ehtiyacımız var?
Api-lərin ən çox istifadə olunmasının səbəbi platformalar arasında məlumatların ötürülməsini təmin etmək və daha az vaxtda daha çox iş əldə etməkdən ibarətdir. Tutaq ki, siz Windows əməliyyat sistemi üçün C#-da masaüstü proqram təminatı hazırlamısınız və siz istəyirsiniz bu məlumatları mobil telefon vasitəsi ilə idarə edəsiniz bu zaman bizim köməyimizə Api çatır. Api-dən həmçinin bir çox dillər arasında məlumatların ötürülməsi üçündə istifadə edilə bilər (VB.Net, C #, Java, Objective-C).
Niyə WCF deyildə ASP.NET Web Api?
Proqram təminatları yerinə görə ola bilər ki bir birində fərqli platformalarda hazırlansın, Web Api-lər REST dəstəyi sayəsində platformadan asılı olmadan müstəqil yaradılır.
Hal hazırda Microsof investisiyalarını Web Api-lərin yaradılmasına yönləndirib, 2012-ci ilin sonunda is rəsmi olaraq WCF dəstəyini dayandırıb.
WCF ilə Web Api arasında olan ən böyük fərq isə Web Api-nin REST (Representational State Transfer) üzərində qurulmasıdır. Bu quruluş Server-Client arasındakı ünsiyyət əlaqəsini http protokolu üzərindən həyata keçirir. Bizim danışdığımız Web Api Get, Post, Put, Delete metodlarını dəstəkləyir.
Web Api-lər adətən geriyə JSON, Xml formatında məlumat qaytarır. Bunlardan ən çox istifadə olunanı isə JSON-dur. Amma yenədə System.Net.Http.Formatting adı altında olan MediaTypeFormatter vasitəsi ilə Serverdən məlumatları istədiyimiz formatda geri qaytara bilərik.
Diqqət çəkən bir digər özəlliyi isə Odata dəstəyinin olmasıdır. Serverə göndərilən məlumatlar nəticəsində geri qaytarılan məlumatlar üzərində filtirləmə işinin aparılabilməsdir. Bunun üçün address bar-da /?${Parametr} yazmağımız kifayətdir. İstifadə olunacaq açar sözlər əsas bunlardır: orderby, top, skip, filter, select digər açar sözlərə buradan baxa bilərsiniz. OData istifadə edə bilmək üçün IQueryable məlumat geriyə qaytarmaq lazımdır.
İndi isə bir Web Api proyekti necə yaradılır ona baxaq.
Bun üçün Visual Studio-nu açırıq və File->New->Project.. seçirik.
New Project pəncərəsində sağ paneldən Web sol paneldən isə ASP.NET MVC 4 Web Application seçərək proyektimizə bir ad (məs:SampleApi) verib Ok düyməsini sıxırıq. (Şəkil.1)
Şəkil. 1
Sonrakı pəncərdə Web API template seçərək Ok düyməsini sıxırıq. (Şəkil.2)
Şəkil. 2
Yuxarıdakı əməliyyatdan sonra qarşımıza bəzi kodlar gələcək. Bu kodlar Default olaraq verilir və Web API ilə bu metodlardan istifadə olunur. (Şəkil. 3)
Şəkil. 3
İndi isə metodların nə işə yaradığına nəzər salaq.
// GET api/values public IEnumerable<string> Get() { return new string[] { "value1", "value2" }; }
IEnumerable tipində geriyə bir dəyər qayatarır. IEnumerable özündə Array, List, ArrayList və.s kolleksiyaları birləşdirir. Burada geriyə Array tipində dəyər qaytarılır.
// GET api/values/5 public string Get(int id) { return "value"; }
Burada geriyə String tipində məlumat geriyə qaytarılır siz bunu dəyişərək sizə lazım olan tipdə geriyə bir dəyər göndərə bilərsiniz. Browser-dən /api/values/5 açsanız sizə qaytarılan məlumatın value olduğunu görəcəksiniz.
// POST api/values public void Post([FromBody]string value) { }
api/values Post metodu vasitəsi ilə məlumat göndərən zaman bu metod işə düşür. Bu ən çox yeni məlumat daxil edilməsi zamanı istifadə olunur.
// PUT api/values/5 public void Put(int id, [FromBody]string value) { }
Bu metod ilə əsasən yeniləmə əməliyyatları yerinə yetirilir.
// DELETE api/values/5 public void Delete(int id) { }
Silmə əməliyyatı bu metod vasitəsi ilə həyata keçirilir.
İndi isə proyektimizi Debug (F5) edək. Browserdə aşağıdakı forma açılacaq. (Şəkil. 4)
Şəkil. 4
Buradan API keçidinə daxil oluruq.
Qeyd: APİ keçidinə daxil olarkən, ola bilərki aşağıdakı səhv meydana gəlsin. (Şəkil.5)
Şəkil. 5
Bu səhvin həll yolu System.Web.Http-in CopyLocal dəyərini true edin.(Şəkil.6)
Şəkil. 6
API keçidinə daxil olarkən aşağıdakı formanı görəcəksiniz. (Şəkil. 7)
Şəkil. 7
7-ci şəkildə göstərilən keçidlərə daxil olmaqla yuxarıda sadaladığımız GET, POST, PUT, DELETE işləmə qaydaları ilə tanış ola bilərsiniz.
Bununlada məqaləmizin sonuna gəldik.
Gələcək məqaləmdə bu APİ metodlarını proyekt üzərində izah edəcəm.
İnanıram ki faydalı bir məqalə olacaq.
Hörmətlə,
Elvin Yusifli
Şərhlər ( 1 )
Dəyərli məqalələr üçün təşəkkürlər