Retrofit 2.x ile REST Api Yönetimi #1

Baştan söylemek istediklerim;

Olabildiğince hiç bilmeyen, belki programlama ile çok az ilgisi olan birisine ilham olması için her şey adım adım anlatılmıştır.

Plan aşağıdaki gibidir, fakat her an değişebilir :)

1. Web Api Oluşturma 
2. Web Uygulaması ile Api Yönetimi 
3. Android Uygulama Geliştirme 
4. Web Api Verilerimize Erişme, Ekleme 

REST (Representational state transfer) client ve server arasında iletişim kurmanızı sağlayan bir mimari (Bknz. SOAP, RPC). Bu iletişimide HTTP protokolü üzerinden yapar.

Yani ortada bir client, bir server var, bu client aslında sadece POST, GET, PUT, DELETE vb. gibi bir kaç kelimeyi biliyor ve HTTP üzerinden haberleşme yapılıyor.

Hadi önce bir REST Api Server oluşturarak başlayalım ve basit bir CRUD (Crate, Read, Update, Delete) uygulaması olsun.

Bunuda Asp.NET ile yapacağız, yani Visual Studio’ya ihtiyacımız var ve Database olarak Sql kullanacağız yani Sql Server Menagement Studio’da fena olmaz.

Hemen ufak bir senaryo oluşturalım, bir sorun takip sistemimiz var ve çalışan sahada bir sorun gördüğünde bunu Android cihazındaki uygulamaya kaydediyor, yöneticide önündeki monitördeki Web Uygulaması ekranından bu sorunu takip edebiliyor.

Adım 1.1 — Veritabanı Tablosu

Görüntüdeki gibi basit bir veritabanı tablosu oluşturalım.

Adım 1.2 — Api Oluşturma

Visual Studio’yu açalım ve yeni bir proje oluştur diyelim.

Web kısmından “ASP.NET Web Application” seçimini yapalım.

Sonraki kısımda ise “Web API” seçeneğini seçerek devam edelim.

Adım 1.3 — Veritabanını Projemize Ekleme

Solution Explorer üzerinden projemize sağ tıklayarak Add > ADO.NET Entitiy Data Model seçeneğini seçelim.

Önümüze gelen kutucuktan modelimize isim verdikten sonra aşağıdaki adımda “EF Designer from Database” seçili iken Next :)

Sonraki pencerede ise “New Connection”a tıklayarak gelen pencerede Sql’imize bağlanmamız gerekiyor. Server adımızı ve alt kısımdanda veritabanı ismimizi seçtikten sonra bu kısmı Ok butonu ile onaylayalım. Alt pencereyede Next :)

Not : “Server name” kısmında eğer Sql Server Management Studio’ya giriş yaparken kullandığınız Server Name yazmıyor ise, gidin Sql Server Management Studio’dan kopyalayın buraya yapıştırın tam isminizi.

Diğer pencerede de tablomuzu seçip Finish diyoruz.

Adım 1.4 — Hadi Bu Api’yi İşlevsel Hale Getirelim :)

Api controller eklememiz lazım, bunun için Controllers klasörümüze sağ tıklayarak Add > Controller diyoruz. (Bu arada, bu adımdan önce VS’da üstten Build > Rebuild Solution demeyi unutmayın. Bir tanısın değil mi proje Entity Framework eklediniz o kadar :) )

Gelen pencerede “Web API 2 Controller with actions, using Entity Framework” seçerek Add diyoruz. (Sağda REST falan diyor ha! Hadi yine iyisin :) )

Diğer pencerede Model Class’ta bir sürü seçenek var, seçeceğin ;

Model class : TABLO_ADI (PROJE_ADI)

Data context class : ENTITY_ADI (PROJE_ADI)

Entity’i veritabanını eklerken Adım 1.3 Resim 3'ü açtığın pencerede otomatik yazmıştı. Birde altta yazan Controller name senin api uzantın olacak, ona düzgün bir şeyler yazmanı tavsiye ederim :)

BAM! Tablona birkaç veri ekler misin? :) Api yazdın! (Gerçi pek bir şey yazmadın, kolay meslek gibi :D Sağ tıkla, şuna tıkla falan, IDE hakimiyeti ne kadar önemliymiş…)

Not : Farklı tarayıcılarda JSON formatında gözükebilir.

Öneri : Postman eklentisini kullan Chrome için.

Şimdi bu bölümün sonuna gelelim, sonraki adımda bu Api’yi CRUD Uygulamasına dönüştürerek bu verileri Web Uygulaması üzerinden kontrol edeceğiz.