Lumen Service App - Validation dan Error Handling

Beautify Response Pada Fungsi Read All

Disini kita akan mebuat respon dari endpojtn "/post" menjadi lebih efektif dengan cara membuang respon yang tidak kita perlu seperti: first_page_url, from, last_page, to  Pertama kita akan mengubah response nya terlebih dahulu.


Ketika kita panggil endpoint "http://localhost:8000/post", maka tampilanya seperti dibawah ini. Kita lihat sekarang response nya menjadi lebih clean, dan lebih nyaman untuk dibaca oleh programmer. Nilai dari next_page_url pada line 5 yakni http://localhost:8000/post?page=2, ini adalah url untuk mendapatkan rows di halaman kedua. Untuk lanjut ke halaman ke-3 dan seterus nya, kita hanya perlu mengganti parameter page=[halaman].


Validasi Fungsi Create

Untuk membuat validasi pada fungsi create, mari kita ikuti langkah-langkah berikut ini:
Saat ini fungsi create memiliki beberapa parameter, diantaranya adalah:
        - title (tidak boleh kosong, min 5 karakter)
        - content (tidak boleh kosong, min 10 karakter)
        - status (tidak boleh kosong dan hanya bisa diisi draft atau published)
        - user_id  (tidak boleh kosong dan hanya bisa diisi sesuai table users)
Parameter tersebut belum divalidasi, artinya semua nilai bisa kita masukan ke parameter
tersebut. Kalau kita coba untuk memberikan value kosong atau null ("") pada parameter tersebut, maka
aplikasi akan tetap melakukan INSERT ke db. Sekarang kita akan melakukan validasi
untuk parameter tersebut dengan aturan yang telah dijelaskan sebelumnya

Kita akan melakukan pengecekan pada setiap parameter yang diinput, jika validasi lolos maka kita akan melanjutkan untuk memasukan data ke database. Jika validasi tidak sesuai maka kita akan memberikan response error dengan status code 400 Bad Request.

Karena dalam aturan / rule kita harus memasukan user_id sesuai table user maka kita akan membuat table users terlebuh dahulu

1. Membuat database migration dengan menjalankan command "php artisan make:migration create_users_table" pada terminal

2. Buka file database/migrations/...create_users_table.php, dan ubah menjadi seperti dibawah ini



3. Kemudian jalankan "php artisan migrate" pada terminal 
4. kemudian masukan data via phpmyadmin atau mysql ke table "users" telah dibuat

Lalu kembali pada PostController buka fungsi store mari kita tambahkan fungsi validasi yang kita inginkan seperti sintaks di bawah ini



kita akan coba memasukan parameter yang salah



selanjutnya kita akan coba menaambahkan dengan parameter yang benar



Lalu setelah berhasil pada fungsi create kita akan coba menambahkan pada fungsi update juga 


Lalu kita coba dengan parameter yang kosong maka hasilnya akan seperti ini 


kita akan coba dengan parameter yang salah


kita akan coba merubah data dengan parameter yang benar


 
Implementasi Error Handling


kita akan mendapatkan error seperti ini dalam bentuk html


kita akan merubah responsenya kedalam bentuk JSON , pertma kita buka dulu file "app/Exceptions/Handler.php " lalu tambahkan seperti gambar di bawah ini 


Lalu ubah juga fungsi render menjadi seperti gambar dibawah ini 


buka file ".env" lalu rubah "APP_DEBUG=true" manjadi "APP_DEBUG=false", jalankan ulang kembali aplikasi dan coba kita panggil endpoint "http://localhost:8000/post/100" dengan method GET menggunakan postman maka tampilannya akan seperti ini


kita coba panggil kembali endpoint "http://localhost:8000/post/100" dengan method POST menggunakan postman maka tampilannya akan seperti ini


kita coba membuat error code dengan menghapus titik koma pada sintak dibawah yang diberi tanda garis merah


Setelah itu  kita akan mencoba memanggil endpint "http://localhost:8000/post/100" dengan method GET menggunakan postman maka tampilannya akan seperti ini 



Sekian tutorial mengenai Simple PHPLumen Service App - Validation dan Error Handling

Comments

Popular posts from this blog

Konsep estetika gambar pada desain

Cloud Infrastructure Mechanism