Membuat REST API dengan Laravel dari Nol
Dari rute sampai respons JSON yang rapi: kita buat API produk sederhana lengkap dengan validasi.
C Codesakura 1 menit 3 komentar
Daftar isi
REST API adalah cara aplikasi lain (aplikasi mobile, frontend React, atau layanan pihak ketiga) berbicara dengan aplikasimu. Di bagian ini kita membuat API produk sederhana: melihat daftar, menambah, dan menghapus.
Menyiapkan rute
Laravel menyediakan Route::apiResource yang membuat semua rute CRUD sekaligus. Tambahkan di routes/api.php:
use App\Http\Controllers\Api\ProductController;
Route::apiResource('products', ProductController::class);Membuat controller
Controller cukup mengembalikan model. Laravel mengubahnya menjadi JSON secara otomatis.
public function index()
{
return Product::latest()->paginate(20);
}
public function store(Request $request)
{
$data = $request->validate([
'name' => ['required', 'string', 'max:160'],
'price' => ['required', 'integer', 'min:0'],
]);
return Product::create($data);
}Kenapa validasi di awal?
Data yang tidak lolos validasi langsung ditolak dengan kode 422 beserta pesan untuk tiap kolom, jadi kode di bawahnya hanya menerima data yang sudah benar.
Mencoba API
Jalankan server lalu panggil dari terminal:
php artisan serve
curl http://127.0.0.1:8000/api/productsBiasakan mencoba setiap endpoint begitu selesai ditulis. Lebih mudah mencari salah di satu endpoint daripada di sepuluh.
Langkah berikutnya
API ini masih terbuka untuk siapa saja. Di bagian berikutnya kita menambahkan autentikasi token supaya hanya pengguna terdaftar yang bisa menambah produk.
Bagian dari series
Laravel dari Nol
3 komentar
Masuk dulu untuk ikut berkomentar. Masuk
Dewi S.
Ditunggu lanjutannya.
Rizky A.
Penjelasannya runtut, langsung saya coba dan jalan. Terima kasih!
Codesakura Penulis
Senang bisa membantu. Kalau ada yang macet, tulis saja di sini.