Android: Retrofit ile Post Request

0 253

WebServislere bağlanmak için daha önceden Volley’i incelemiştik. Şimdi ise Retrofit ile basic authentication olan bir servise post request işlemi gerçekleştireceğiz.

Projemizi oluşturduktan sonra ilk olarak internete çıkmak için izin almamız gerekiyor. AndroidManifest.xml dosyamıza aşağıdaki izni yazıyoruz.

build.gradle dosyasına dependency olarak refrofit kütüphanesini ekliyoruz. Retrofit bizim için convert işlemini hallediyor. Bu yüzden ikinci olarak Gson converter ekliyoruz.

Bir kullanıcı kayıt işemi gerçekleştireceğiz. Bunun için kullanıcıdan isim, soyisim, email ve şifre bilgileri alacağız. xml kodları uzun olacağı için paylaşmayacağım. Bu kısmı sizler tasarlayabilirsiniz.

Kullanacağımız ui elementlerini tanımlıyoruz.

Öncelikle RetrofitClient isminde thread safe singleton bir class oluşturuyoruz ve burada oluşturduğumuz refrofit objesi üzerinden işlemlerimizi gerçekleştireceğiz.

Retrofit ile request işlemleri için end-point tanımlarını yapmamız gerek. Bunun için bir interface tanımlıyoruz.

  • @POST ile post metoduğunu
  • @Body ile body kısmında gidecek objeyi
  • @Header ile ise header kısmındaki bilgileri belirtiyoruz. Eğer sizin servisinizde authentication yoksa bu kısım sizin için olmayacak. Ama bu gerekli gibi gibi kodlamaya devam edeceğiz.

Burada UserDTO class’ını görüyoruz. Servisten dönüş tipi olarak beklediğimiz UserDTO ise şöyle olmalıdır.

@SerializedName annotation ile belirtiğiniz değer servisinizden dönen ve sizin pars etmek istediğiniz değer ile aynı olmalıdır.

Şimdi ise tek yapmamız gereken parçaları birleştirerek requesti gerçekleştirmek.

RetrofitClient’dan bir obje oluşturduk ve create metoduna servisimizin bulunduğu interface’i verdik ve bu interface’deki createUser metodunu çağırdık. Bu metod ise Call tipinde bir obje dönüyor. Bu objeyi çağırmak için şimdilik bekletiyoruz. createUser metodu iki parametre alan bir metod ve user’ı yukarıdaki gibi oluşturduk. Authentication için ise aşağıdaki gibi bir metod yazıyoruz.

Şimdi ise yarım bıraktığımız yerden devam ediyoruz.

RegisterActivity class’ımızın tamamı ise aşağıdaki gibidir.

Faydalı olması dileğiyle.

Yorum yaz

Email adresiniz yayınlanmayacaktır.