Controller Utility di Elysia-Light
Controller Utility di Elysia-Light menyediakan kumpulan helper yang disuntikkan langsung ke ControllerContext. Tujuannya adalah menyeragamkan cara membaca request, melakukan validasi, serta mengembalikan response tanpa boilerplate berulang di setiap controller.
getQuery
getQuery digunakan untuk mengambil dan menormalkan parameter query umum seperti pagination, sorting, filtering, dan searching. Helper ini membuat controller tetap bersih tanpa parsing manual query string.
Kode berhasil di copy!
5
validation
validation digunakan untuk memvalidasi request body berdasarkan rules. Jika validasi gagal, request akan otomatis dihentikan dengan response 422.
Kode berhasil di copy!
5
responseData
responseData digunakan untuk mengembalikan data list dengan format yang konsisten, termasuk total data untuk kebutuhan pagination.
Kode berhasil di copy!
5
responseSuccess
responseSuccess digunakan untuk mengembalikan response sukses umum dengan status 200 atau 201. Cocok untuk operasi non-create seperti update atau action lain.
Kode berhasil di copy!
5
responseSaved
responseSaved digunakan khusus untuk response setelah create data. Secara default mengembalikan status 201.
Kode berhasil di copy!
5
responseError
responseError digunakan untuk menangani error server-side. Helper ini akan mencatat error ke logger dan mengembalikan response 500 sesuai konfigurasi debug.
Kode berhasil di copy!
5
responseForbidden
responseForbidden digunakan untuk menghentikan request dengan status 403. Biasanya dipanggil saat permission atau authorization gagal.
Kode berhasil di copy!
5
uploadFile
uploadFile digunakan untuk menyimpan file upload ke storage. Helper ini akan membuat folder otomatis dan mengembalikan path file yang tersimpan.
Kode berhasil di copy!
5
deleteFile
deleteFile digunakan untuk menghapus file dari storage berdasarkan path file.
Kode berhasil di copy!
5
Best Practice
Gunakan controller hanya sebagai orchestrator. Hindari logic kompleks di controller. Manfaatkan helper ini untuk konsistensi response, validasi, dan handling error di seluruh API.