Retrofit Kütüphanesi ile RestApi kullanımı ve Post işlemi

Retrofit Kütüphanesi ile RestApi kullanımı ve Post işlemi

Bu yazımda bir çok işimde sık sık kullandığım RestApi ve Android’in Retrofit kütüphanesini anlatacağım. Genel olarak uzak sunucumda bulunan web servislerine istek atarken yararlandığım bir yapı. Konuya gelirsek;

Öncelikle’ AndroidManifest.xml’ dosyasına gerekli internet erişimini almak için;

Ardından gradle compile etmek için şunları yazıyoruz;

Compile işlemlerinden sonra ise RestApi yapısını kurmamız gerekiyor, ilk olarak RestApi adında bir Java interface oluşturcağım ve sırasıyla diğer classları mantığıyla beraber aktaracağım.RestApi interface için;

Üstteki yapıda import ettiğim kütüphanelere dikkat etmenizi istiyorum. Retrofi2.Call yapısını kullancağız (telekom.call değil android studio genelde otomatik olarak bunu ekliyor) ve kesinlikle @ ile belirlenen annotationları kullanmalıyız. Post annotationa istek atcağımız urlnin yapısını giriyoruz.Field parametrelerine ise göndereceğimiz değişkenin değeri ve tipini yazdım.

Üstteki oluşturduğum BaseUrl classında ise istek atıcağım url’i yazdım. Static olmasının sebebi nesne oluşturmacak olmam. Sırada ise RestapiClient classı var;

Biliyorum karmaşık görünüyor bu class’ı her seferinde yeniden yazmanıza lüzum yok static bir yapıda olduğu için copy-paste ile alabilrsiniz. Çalışma mantığını ve getRestApi() fonksiyonuna dikkat etmeniz bence yeterli. Sıradaki Class BaseManager bu class bize RestApiClient’den gelen ‘getRestApi’ fonksiyonunu return edicek;

Son olarak ise ManagerAll classımız kaldı. Bu yapıda static ve synchorized olan bir instance metodu oluşturcağız tüm parametreleri alıp RestApi interfacesinde oluşturdugumuz fonksiyonumuza erişceğiz ve son olarak MainActivity’de Call oluşturmak kalıcak.

Evet arkadaşlar RestApi yapımız bu şekilde, Post yerine Get işlemleride yapabilirdik ama mantık yine aynı olacaktır sadece parametreleri ve @annotation parametrelerini değiştirmemiz gerekicek.

Activity işlemlerini ise başka bir yazımda detaylı olarak anlatacağım, herkese iyi çalışmalar diliyorum , sürç-i lisan ettiysem affola 🙂 sağlıcakla kalın.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir