Cara Membuat REST API Laravel
Langkah praktis membangun REST API di Laravel mulai dari routing, controller, validasi, hingga API Resource yang rapi.
REST API menjadi jembatan utama ketika sebuah aplikasi web perlu dikonsumsi oleh aplikasi mobile atau layanan lain. Laravel menyediakan hampir semua kebutuhan dasarnya, sehingga fokus kita cukup pada struktur yang konsisten.
Menyiapkan Route
Pisahkan route API dari route web agar middleware dan prefix lebih mudah diatur. Gunakan versioning sejak awal supaya perubahan di masa depan tidak merusak konsumen lama.
Route::prefix('v1')->group(function () {
Route::apiResource('articles', ArticleController::class);
});
Controller dan Validasi
Gunakan Form Request untuk memindahkan aturan validasi keluar dari controller. Controller cukup mengatur alur, bukan menampung logika validasi yang panjang.
public function store(StoreArticleRequest $request): JsonResponse
{
$article = Article::create($request->validated());
return ArticleResource::make($article)
->response()
->setStatusCode(201);
}
API Resource
API Resource membuat struktur response konsisten dan mencegah kolom sensitif ikut terkirim. Tim frontend maupun mobile akan terbantu karena bentuk data selalu dapat diprediksi.
Autentikasi
Untuk aplikasi mobile, token-based authentication biasanya paling praktis. Tambahkan rate limiting pada endpoint publik agar API tidak mudah disalahgunakan.
Penutup
Kunci REST API yang nyaman dipakai bukan pada banyaknya fitur, melainkan pada konsistensi: penamaan endpoint, bentuk response, dan penanganan error yang seragam.