REST API (Representational State Transfer Application Programming Interface) menjadi fondasi penting dalam pengembangan aplikasi modern. Dengan Laravel 11, membuat REST API menjadi jauh lebih mudah dan efisien. Framework ini menyediakan struktur dan fitur yang memudahkan integrasi antara frontend dan backend. Dalam artikel ini, kita akan membahas langkah-langkah membuat REST API sederhana menggunakan Laravel 11.
1. Persiapan Awal
Instalasi Laravel 11
composer create-project laravel/laravel laravel-rest-api
Setelah instalasi selesai, masuk ke direktori proyek:
cd laravel-rest-api
Jalankan server lokal:
php artisan serve
2. Buat Database dan Konfigurasi
Buka file .env
dan sesuaikan konfigurasi database Anda. Kemudian buat databasenya di MySQL atau tools seperti phpMyAdmin.:
DB_DATABASE=rest_api_db
DB_USERNAME=root
DB_PASSWORD=
3. Buat Model dan Migrasi
Misalnya kita ingin membuat REST API untuk produk.
php artisan make:model Product -m
Edit file migrasi di database/migrations
:
public function up(): void
{
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->text('description')->nullable();
$table->decimal('price', 10, 2);
$table->timestamps();
});
}
Jalankan migrasi:
php artisan migrate
4. Buat Controller API
Gunakan perintah berikut untuk membuat controller API:
php artisan make:controller Api/ProductController --api
Kemudian isi ProductController.php
dengan fungsi CRUD:
use App\Models\Product;
use Illuminate\Http\Request;
class ProductController extends Controller
{
public function index()
{
return Product::all();
}
public function store(Request $request)
{
$validated = $request->validate([
'name' => 'required|string',
'price' => 'required|numeric',
]);
return Product::create($validated);
}
public function show($id)
{
return Product::findOrFail($id);
}
public function update(Request $request, $id)
{
$product = Product::findOrFail($id);
$product->update($request->all());
return $product;
}
public function destroy($id)
{
return Product::destroy($id);
}
}
5. Atur Routing API
Buka file routes/api.php
dan tambahkan:
use App\Http\Controllers\Api\ProductController;
Route::apiResource('products', ProductController::class);
Dengan Route::apiResource
, Laravel secara otomatis membuat semua route standar: index
, store
, show
, update
, dan destroy
.
6. Uji API dengan Postman
Sekarang Anda bisa menguji REST API ini menggunakan Postman atau tools seperti Insomnia.
Contoh endpoint:
- GET
http://localhost:8000/api/products
- POST
http://localhost:8000/api/products
- PUT
http://localhost:8000/api/products/{id}
- DELETE
http://localhost:8000/api/products/{id}
7. (Opsional) Gunakan Resource untuk Format Respons
Untuk hasil JSON yang lebih rapi, Anda bisa menggunakan Resource
:
php artisan make:resource ProductResource
Lalu ubah isi ProductController@index()
menjadi:
use App\Http\Resources\ProductResource;
public function index()
{
return ProductResource::collection(Product::all());
}
Kesimpulan
Laravel 11 menawarkan kemudahan dalam membangun REST API yang rapi, cepat, dan scalable. Dengan mengikuti langkah-langkah di atas, Anda sudah memiliki fondasi API CRUD yang siap digunakan untuk proyek nyata. REST API yang baik mempercepat pengembangan frontend, memudahkan integrasi antar sistem, dan memberikan struktur yang jelas dalam arsitektur aplikasi modern.