Laravel 12 hadir dengan berbagai penyempurnaan yang memudahkan develop REST API. Artikel ini akan memandu langkah demi langkah membuat API yang scalable dan terstruktur.

Persiapan Project

Pastikan PHP 8.3 dan Composer terinstall. Jalankan perintah berikut untuk membuat project baru:

composer create-project laravel/laravel:^12.0 api-project
cd api-project

Membuat Model dan Migration

Gunakan artisan untuk generate model beserta migration:

php artisan make:model Post -m

Definisikan skema tabel di file migration:

Schema::create('posts', function (Blueprint $table) {
    $table->id();
    $table->string('title');
    $table->text('body');
    $table->foreignId('user_id')->constrained();
    $table->timestamps();
});

Membuat Resource Controller

Laravel 12 menyediakan API Resource Controller yang langsung siap untuk endpoint RESTful:

php artisan make:controller Api/PostController --api --model=Post

Controller ini sudah memiliki method index, store, show, update, dan destroy.

Validasi Request

Gunakan Form Request untuk validasi terpisah:

php artisan make:request StorePostRequest

Resource Classes

Resource class membantu formatting response JSON:

php artisan make:resource PostResource

Testing API

Laravel 12 punya HTTP testing yang powerful. Contoh test untuk endpoint posts:

public function test_can_create_post()
{
    $response = $this->postJson('/api/posts', [
        'title' => 'Judul Post',
        'body' => 'Konten post'
    ]);
    $response->assertStatus(201);
}

Kesimpulan

Laravel 12 membuat development REST API semakin cepat dengan tooling yang matang. Dengan Resource Controller, Form Request, dan Eloquent API Resources, kamu bisa membangun API production-ready dalam hitungan menit.