Tutorial Retrofit2 Query in Java

Guys pada kesempatan kali ini kita akan mencoba belajar cara mengambil data berupa JSON dari api.github.com menggunakan library Retrofit.

What is Retrofit? Retrofit is A type-safe HTTP client for Android and Java

See Android and Java, nah di tutorial ini saya tidak membuat project Android. Di tutorial ini saya hanya membuat project Java biasa menggunakan intellij buatan Jetbrains. Kamu bisa download IDEnya disini. Oke langsung aja.

Buat Project Baru

Project Structure

Buat project new => project.

Menambahkan Library

Setelah selesai membuat project, kita tambahkan library yang diperlukan. Buka File => Project structure atau bisa langsung tekan ctr+shift+alt+s. Pilih tab dependencies. Lalu tekan tombol “+” yang ada di sebelah kanan. Pilih library lalu pilih from maven.

Di pencarian ketik ini:

com.squareup.retrofit2:converter-gson:2.1.0
com.squareup.retrofit2:retrofit:2.1.0
com.squareup.okhttp3:logging-interceptor:3.5.0

Library yang kita pakai:

  • Retrofit untuk membuat http calls
  • Converter-gson untuk convert JSON menjadi java object
  • Logging interceptor untuk memonitor data respon nya

Setelah selasai menambahkan library. Saatnya mulai mengetik.

Eits.. sebelum mengetik kita overview api nya dulu ya. Silahkan buka ini dan ini. Dari link pertama value yang mau kita ambil ialah nilai dari key ‘login’ dan ‘contributions’ lalu dari link ke dua adalah ‘full-name’ dan ‘url’ nya aja.

Membuat Kelas Model

Kelas ini dibuat berdasarkan bentuk dari API y.

Buat kelas bernama DataRepo.java di dalam folder model. Kelas ini digunakan untuk nyimpen value ‘login’ dan ‘contributions’. Maksud dari @SerializedName annotation ialah untuk menyamakan key pada model dan key pada JSON. Bisa juga tanpa menggunakan @SerializedName annotations, namun yang disamakan ialah nama variabel dan key pada JSON nya.

Buat kelas bernama DataSearch.java dan Item.java di dalam folder model. Kelas DataSearch digunakan untuk nyimpen JSONarray dari kelas Item dengan key ‘items’.

Membuat Kelas Endpoint

Selanjutnya membuat kelas bernama ServiceApi.java di dalam folder network. Kelas ini digunakan sebagai endpoint kita yang mana nantinya untuk mendapatkan return HTTP API.

Membuat Kelas Retrofit Instance

Lalu kita buat kelas bernama ClientApi.java di dalam folder Network. Kelas ini kita gunakan untuk membuat instansiasi dari Retrofit yang nantinya akan menggenerate implementasi dari interface ServiceApi.java.

Run and Test

Terakhir kita buat kelas Test.java. Kelas ini kita gunakan untuk melakukan testing.

Setelah dijalankan, didapat hasilnya seperti ini.


Thanks for reading this article! click ❤ if this article helpful.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.