Skip to main content

4. Custom Request Retorofit.html

Custom Request Retrofit

  1. Custom Request Retrofit

Custom request di Retrofit mengacu pada kemampuan untuk membuat permintaan HTTP khusus yang tidak tercakup oleh method bawaan seperti GET, POST, PUT, atau DELETE. Dalam beberapa kasus, kita mungkin perlu mengirimkan permintaan dengan metode HTTP yang berbeda, menentukan header khusus, atau mengirimkan body dalam format kustom.

Namun, dalam beberapa situasi, method bawaan Retrofit mungkin tidak mencukupi untuk memenuhi kebutuhan aplikasi. Oleh karena itu, Custom Retrofit digunakan untuk mengatasi kendala tersebut dengan mengkustomisasi berbagai aspek dari proses komunikasi jaringan.

Ada beberapa kelebihan dalam penggunaan custom request retrofit dalam pengembangan aplikasi android, diantaranya:

1.    Fleksibilitas

Dengan custom request, kalian dapat mengirim permintaan dengan metode HTTP khusus yang tidak tercakup oleh metode bawaan seperti GET, POST, PUT, atau DELETE. kalian dapat menentukan metode HTTP yang sesuai dengan kebutuhan kalian.

2.    Header Kustom

kalian dapat menentukan header kustom dalam permintaan dengan mudah menggunakan anotasi @Headers. Ini memungkinkan kalian untuk menambahkan header tambahan yang diperlukan oleh API yang kalian gunakan.

3.    Body Kustom

Dalam beberapa kasus, kalian mungkin perlu mengirimkan body permintaan dalam format kustom yang tidak lazim atau tidak didukung secara langsung oleh metode bawaan Retrofit. Dengan custom request, kalian dapat mengirimkan body permintaan dalam format yang diinginkan.

4.    Kompatibilitas

Custom request di Retrofit memungkinkan kalian berinteraksi dengan berbagai API yang mungkin memiliki kebutuhan atau kekhususan tertentu. kalian dapat mengakomodasi persyaratan API dengan mengirimkan permintaan yang sesuai menggunakan custom request.

5.    Penggunaan yang Sederhana

Implementasi custom request di Retrofit relatif sederhana dan mudah dipahami. kalian dapat menentukan endpoint dan metode permintaan dalam interface Retrofit kalian, dan Retrofit akan menangani koneksi dan pemrosesan permintaan secara otomatis. Di Retrofit ada beberapa bagian yang dapat kita custom, diantaranya:

1.    Converter

Retrofit mendukung berbagai converter seperti GsonConverter, JacksonConverter, dan MoshiConverter untuk mengubah JSON menjadi objek Kotlin/Java, atau ScalarsConverter untuk mengubah respons menjadi string sederhana. Contoh penggunaan converter dengan berbagai jenis converter, diantaranya:

a.    Gson

b.    Moshi

c.    Jackson

d.    Scalars

2.    Call Adapter

Call Adapter dapat digunakan untuk menentukan bagaimana data response dari server HTTP akan diolah dan dikonversi menjadi object yang dapat digunakan di aplikasi Android.Contoh penggunaan call adapter dengan berbagai jenis call adapter, diantaranya:

 

a.    RxJava

b.    Coroutine

c.    LiveData

3.    Interceptor

Interceptor membuat komponen khusus yang akan secara otomatis menambahkan header Authorization ke setiap permintaan yang dikirim melalui Retrofit. kalian dapat memodifikasi permintaan sebelum dikirim atau respons setelah diterima.

4.    Base URL

Base URL dapat menentukan base URL endpoint API dengan menggunakan anotasi @BaseUrl pada interface ApiService. Ini memungkinkan kalian mengganti base URL saat melakukan pengujian atau saat menghubungkan ke server yang berbeda. Langkah - langkah penggunaan @BaseUrl, diantaranya:

1.    Pembuatan annotation class

2.    Memasukkan ke dalam retrofit

5.    Request Headers

Request headers hanya digunakan apabila kalian akan menambahkan header khusus pada request tertentu. Request headers hanya menggunakan annotation @Headers untuk menentukan header khusus.

6.    Path Parameters dan Query Parameters

Path dan Query parameters digunakan untuk menambahkan parameter dinamis ke URL dengan menggunakan annotation @Path dan @Query. Dengan menggunakan parameter ini memungkinkan kalian untuk mengirim data secara dinamis sebagai bagian dari URL.

Last modified: Monday, 7 August 2023, 10:11 AM