API Resource dan Resource collection di laravel 5
halo gan. setelah kita bahas crud di laravel ayo kita bahas api resource dan resource collection
API Resource
API resource ini memudahkan kalian dalam membuat response json untuk aplikasi client dengan memanfaatkan model. karena kita hanya perlu membuat api resource dan mengimplementasi nama classnya di setiap response json kita. Itu lebih memudahkan daripada kita mengetik code yang sama di setiap fungsi yang berbeda.
Resource digunakan untuk api response yang berbentuk json object seperti ini
"data": {
"boxes_id": 1,
"box_name": "MG42",
"description": "lorem ipsum dolor sit amet",
"author": "German",
"created_at": {
"date": "2018-08-23 03:31:10.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"updated_at": {
"date": "2018-08-23 03:31:19.000000",
"timezone_type": 3,
"timezone": "UTC"
}
}
contoh sederhana cara membuat api resource
php artisan make:resource Boxes
maka akan secara otomatis membuat folder resource di dalam folder http. dan akan terbuat file resource dengan nama User, lalu kita ubah seperti di bawah ini
setelah itu kita buat fungsi untuk membuat API nya di controller. tambahkan sebuah fungsi di controller seperti contoh:
setelah kita membuat fungsi seperti diatas kita daftarkan fungsi tersebut di router api.php
Route::get('get-box/{box_id}' , 'BoxesController@ getOneBoxData');
setelah itu kita coba url nya di postman atau aplikasi lain.
Resource Collection
resource collection adalah kumpulan kumpulan dari resource. bisa dibilang kita menggunakan resource Collection untuk data berupa list array seperti ini
"data": [
{
"boxes_id": 1,
"box_name": "MG42",
"description": "lorem ipsum dolor sit amet",
"author": "German",
"created_at": "2018-08-23 03:31:10",
"updated_at": "2018-08-23 03:31:19"
},
{
"boxes_id": 2,
"box_name": "RPG-7",
"description": "lorem ipsum dolor sitamet",
"author": "USSR",
"created_at": "2018-08-23 03:31:40",
"updated_at": "2018-08-23 03:31:41"
}
]
Contoh cara membuat Resource Collection
php artisan make:resource BoxCollection --collection
maka akan terbuat file di resource secara otomatis. lalu kita ubah seperti dibawah ini
lalu kita pakai class tersebut di controller
dan semua berhasil di cek. terimakasih
Selanjutnya adalah Error Handling