Bagaimana Cara Membuat REST API dengan Laravel 11?

Bagaimana Cara Membuat REST API dengan Laravel 11?
Bagaimana Cara Membuat REST API dengan Laravel 11?

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.

Comments

No comments yet. Why don’t you start the discussion?

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *