Tutorial cara membuat Response JSON yang konsisten di Laravel untuk backend developer, mulai dari struktur hingga implementasinya.
Sebagai back-end developer mungkin kita tidak asing dengan istilah “Response JSON”, karena memang itu merupkan suatu hal yang biasa kita buat. Nah disini saya ingin membagikan sedikit tips bagaiman cara membuat Response JSON yang konsisten. Sebelum lanjut ke langkah-langkahnya mungkin terbesit di benak kalian “Kenapa sih harus konsisten?” awalnya saya berfikir seperti itu, namun ternyata ada manfaatnya lho kita membuat response JSON dengan konsisten. Utamanya adalah agar mempermudah developer dalam proses pemeliharaan, jika terjadi perubahan struktur JSON di sisi server maka sisi klien tidak terlalu besar perubahannya, karena semua telah terstruktur dan kosisten. Adapun manfaat lainnya yaitu bentuk response JSON yang sudah seragam mengikuti standar, mudahnya proses dokumentasi, hingga efisiensi dalam pengembangan seperti, jika ada perubahan dalam response JSON, Developer tidak perlu banyak mengubah code namun tinggal menyesuaikan saja sehingga dapat mempermudah dan mempersingkat waktu.
Nah banyak sekali manfaatnya bukan? Sekarang mari kita lanjut ke proses implementasinya. Hal pertama yang perlu dipersiapkan adalah standar JSON yang akan dibuat, karena sejatinya setiap perusahaan atau kelompok tertentu memiliki standarnya masing-masing, misalnya perusahaan A hanya butuh success status true or false (boolean) untuk menentukan alur kelanjutan programnya, sedangkan di Perusahaan B butuh Http Status Code yang spesifik untuk menentukan alur kelanjutan programnya. Maka dari itu perlu ditentukan standar JSON nya terlebih dahulu. Selanjutnya tentukan struktur utama Response JSON yang ingin kalian buat, biasanya saya membuatnya dengan melakukan sketsa di notes atau di notpad seperti ini:
Nah dari sketsa diatas kita sudah bisa tergambar sturktur utama dari Response JSON yang akan kita buat. Selanjutnya kita akan masuk ke proses penerapannya di Laravel, jadi siapkan IDE favorit kalian. Nah disini pertama-tama saya membuat satu method function di file Helper di directory app/Helpers/(file) yang saya beri nama ResponseJson.php dengan isi seperti ini:
If yang membungkus function response_success berfungsi untuk memastikan bahwa tidak ada function yang namanya sama dengan function response_success, nah lalu kita buat function response_success dengan parameter $message (integer), $data (JsonResource or Collection), $status (int).
Nah sekarang base template Response JSON kita sudah terbuat, alasan kenapa dibuat template terlebih dahulu, agar function yang kita jadikan template ini dapat kita gunakan di banyak tempat, jadi secara tidak langsung kita menghemat code dan membuat response yang sudah settle dan konsisten. Selanjutnya kita daftarkan file helper tadi di composer.json seperti ini:
Nah setelah didaftarkan function response_success tadi, kita bisa pergunakan function tersebut secara global di Controller misalnya,
Lalu kalian dapat mencoba function tersebut dengan memanggilnya di route, dan coba jalankan di browser atau postman. Hasilnya akan seperti ini:
Selesai sudah, kalian selangkah lebih maju untuk menciptakan Response yang terstruktur dan konsisten. Mengapa selangkah? Karena masih ada banyak hal yang bisa kalian improvisasi seperti mendisiplinkan bentuk Response JSON dengan menggunakan resource dan mengkustomisasi bentuk error dari Exception dan validasi, namun rasanya agak panjang apabila diulas pada artikel ini. Terimakasih, semoga bermanfaat.
Written By Alwan Athallah M
Editor By Hasiva Amalia