Wrseno
Back to Home

Membangun REST API dengan Laravel

November 25, 2025 jeno

Laravel bukan hanya jagonya monolith, tapi juga sangat powerful untuk membuat REST API. Dengan fitur bawaan seperti Eloquent API Resources dan Sanctum, kita bisa membangun backend untuk aplikasi Mobile (Flutter/Android) atau SPA (Next.js/Vue) dengan sangat cepat.

Berikut adalah panduan kilat membangun REST API sederhana untuk manajemen “Produk”

1. Setup & Migration

Setelah install Laravel, Model sekaligus Migration dan Controller:

php artisan make:model Product -mc

Di file migration, tambahkan skema tabel:

$table->string('name');
$table->text('description');
$table->decimal('price', 10, 2);

2. Gunakan API Resource (Penting!)

Jangan kembalikan raw object Eloquent langsung ke user. Gunakan API Resource agar respons JSON konsisten.

 

php artisan make:resource ProductResource

Di dalam ProductResource.php :

public function toArray(Request $request): array
{
return [
'id' => $this->id,
'name' => $this->name,
'price_formatted' => 'Rp ' . number_format($this->price), // Custom format
'created_at' => $this->created_at->format('d-m-Y'),
];
}

3. Controller Logic

Di ProductController, kembalikan data menggunakan resource tadi:

 

public function index() {
$products = Product::all();
return ProductResource::collection($products); // Mengembalikan array JSON rapi
}

public function store(Request $request) {
// Validasi
$validated = $request->validate(['name' => 'required', 'price' => 'required|numeric']);

$product = Product::create($validated);

return new ProductResource($product); // Mengembalikan single object
}

4. API Routes

Daftarkan di routes/api.php :

 

Route::apiResource('products', ProductController::class);

 

Tips Pro: Selalu gunakan HTTP Status Code yang tepat (200 untuk OK, 201 untuk Created, 422 untuk Validation Error). Laravel menangani ini secara otomatis, tapi memahaminya akan membuat API Anda lebih profesional.

Leave a Reply

Your email address will not be published. Required fields are marked *