Laravel ile RESTful API Geliştirme

Laravel, PHP tabanlı bir framework olarak hızlı ve etkili uygulama geliştirmeyi sağlar. RESTful API'ler ise modern web uygulamalarının temel taşlarındandır. Bu yazıda, Laravel kullanarak basit bir RESTful API geliştirme sürecini adım adım inceleyeceğiz.

Adım 1: Laravel Kurulumu

İlk olarak, Laravel'i kurmamız gerekiyor. Terminalden aşağıdaki komutu çalıştırarak yeni bir Laravel projesi oluşturun:

composer create-project --prefer-dist laravel/laravel api-example

Adım 2: Veritabanı Ayarları

.env dosyanızı açarak veritabanı ayarlarınızı yapılandırın. Örneğin:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_username
DB_PASSWORD=your_password

Adım 3: Model ve Migration Oluşturma

API'mız için bir model ve ona bağlı bir migration dosyası oluşturalım. Aşağıdaki komutu çalıştırın:

php artisan make:model Product -m

Ardından database/migrations dizinindeki migration dosyasını açarak products tablosunu tanımlayın:

public function up()
{
    Schema::create('products', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->decimal('price', 8, 2);
        $table->timestamps();
    });
}

Veya daha fazla alan eklemeyi düşünüyorsanız, ihtiyaçlarınıza göre düzenleyebilirsiniz.

Migration'ı oluşturduktan sonra veritabanına uygulamak için:

php artisan migrate

Adım 4: CRUD İşlemlerini Oluşturma

Şimdi, ürünler üzerinde CRUD (Create, Read, Update, Delete) işlemlerini gerçekleştiren bir API oluşturacağız. Öncelikle bir kontrolcü oluşturun:

php artisan make:controller ProductController --resource

ProductController.php dosyasını açın ve aşağıdaki gibi CRUD yöntemlerini ekleyin:

use App\Models\Product;

class ProductController extends Controller
{
    public function index()
    {
        return Product::all();
    }

    public function store(Request $request)
    {
        $product = Product::create($request->all());
        return response()->json($product, 201);
    }

    public function show($id)
    {
        return Product::find($id);
    }

    public function update(Request $request, $id)
    {
        $product = Product::find($id);
        $product->update($request->all());
        return response()->json($product, 200);
    }

    public function destroy($id)
    {
        Product::destroy($id);
        return response()->json(null, 204);
    }
}

Adım 5: API Routes Tanımlama

Son olarak, routes/api.php dosyasını açarak API rotalarınızı tanımlayın:

use App\Http\Controllers\ProductController;

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

Sonuç

Artık Laravel ile temel bir RESTful API geliştirdiniz. Sunucuyu başlatarak API’yi test edebilirsiniz:

php artisan serve

Tarayıcınızdan veya Postman gibi bir API istemcisinden http://localhost:8000/api/products adresine giderek tüm ürünleri listeleyebilirsiniz. Bu örnek, Laravel ile API geliştirme sürecinin temel adımlarını kapsamaktadır.

Kaynaklar:

Laravel ile daha fazla proje geliştirmek için bu temeli kullanabilirsiniz.