Halo para pecinta Laravel? Saya punya pertanyaan untuk kamu. Selama kamu membangun API dengan menggunakan Laravel, apakah kamu mengembalikan response JSON nya secara manual seperti ini? return response()->json('Data available')
atau return response()->json(['message' => 'Data Available', 'data' => $data])
? Bila iya, apakah membutuhkan waktu yang lama untuk menuliskan hal yang sama berulang kali? Atau, apakah respon yang dikirimkan seringkali tidak konsisten dalam penulisannya? Di fungsi A dituliskan JSON yang isinya status dan message. Sedangkan di fungsi Y dituliskan JSON yang isinya message saja. Di artikel kali ini, saya mau share metode penulisan JSON yang mudah di aplikasikan.
Templating Dengan Resource
Langkah pertama yang perlu dilakukan adalah mebuat file resource pada projek Laravel kamu. Sintaks yang bisa kamu tuliskan pada terminal kamu adalah php artisan make:resource NamaResource
. Setelah menuliskan sintaks tersebut, silahkan tekan Enter untuk memproses file tersebut.
Selesai membuat file tersebut, jika kamu pengguna Visual Studio Code, kamu bisa menekan tombol ctrl + p
pada Visual Studio Code kamu dan ketikkan nama file yang baru saja dibuat. Kamu juga bisa mencari folder App\Http\Resources
di projek kamu. Di dalam folder tersebut, terdapat file resource yang baru saja dibuat.
Konfigurasi File
Setelah menemukan file tersebut, kamu dapat masuk ke dalamnya untuk memulai konfigurasi. Untuk membuat kode tampilan response yang ter-struktur, kamu dapat menuliskan kode berikut.
$status
: Menyimpan status ketika response berhasil ataupun gagal.$code
: Menyimpan kode status HTTP.$message
: Menyimpan pesan yang sesuai dengan status response.$resource
: Menyimpan data yang dikembalikan dalam response.
Construct: Construct atau Konstruktor kelas ini menerima empat parameter: $status
, $code
, $message
, dan $resource
. Parameter ini digunakan untuk menginisialisasi properti kelas. Fungsi dari parent::__construct($resource)
adalah memanggil konstruktor dari kelas JsonResource
untuk melakukan proses inisialisasi.
Function toArray
: Function ini digunakan untuk konversi data menjadi format array untuk response JSON.success
: Status keberhasilan ($status
).code
: Kode status ($code
).message
: Pesan yang menyertainya ($message
).data
: Data aktual yang dikirim ($resource
).
Implementasi Resources
Selesai konfigurasi file resources, kamu dapat meng-implementasikannya di dalam controller disaat melakukan return seperti berikut. return new FormatResource(true, 201, 'Data updated', $data);
. Ketika kamu menggunakan resources yang kamu buat, kamu sudah tidak perlu khawatir apabila response yang dikirimkan tidak konsisten. Sekarang, kamu bisa mencobanya untuk melihat data yang dikembalikan dalam bentuk JSON.
Keuntungan Penggunaan Resources
- Konsistensi Format Respons
- Pemformatan dan Transformasi Data
- Meningkatkan Keterbacaan Kode
- Mudah Dikelola dan Dipelihara
Bagaimana? Penasara untuk mencoba? Selamat mencoba!