Laravel, PHP geliştiricileri için güçlü ve zarif bir framework'tür. RESTful API'ler oluşturmak için birçok kolaylık sunar. Bu yazıda, Laravel kullanarak adım adım bir RESTful API geliştirme sürecini inceleyeceğiz.
İlk adım, yeni bir Laravel projesi oluşturmaktır. Terminalde aşağıdaki komutu çalıştırın:
composer create-project --prefer-dist laravel/laravel api-projesi
Bu komut, api-projesi adında yeni bir Laravel projesi oluşturacaktır.
.env dosyasını düzenleyerek veritabanı bağlantı bilgilerinizi girin:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=api_db DB_USERNAME=kullanici_adi DB_PASSWORD=sifre
Veritabanınızı oluşturduğunuzdan emin olun.
Veritabanı tablonuzu temsil eden bir model ve migration dosyası oluşturun:
php artisan make:model Urun -m
Oluşturulan migration dosyasını (database/migrations/ dizininde bulunur) düzenleyerek tablo şemasını tanımlayın:
public function up() { Schema::create('uruns', function (Blueprint $table) { $table->id(); $table->string('ad'); $table->text('aciklama'); $table->decimal('fiyat', 8, 2); $table->timestamps(); }); }
Migration'ı çalıştırmak için:
php artisan migrate
API endpoint'lerini yönetecek bir controller oluşturun:
php artisan make:controller UrunController --resource
Bu komut, kaynak controller oluşturur ve temel CRUD (Oluşturma, Okuma, Güncelleme, Silme) işlemlerini gerçekleştirmek için gereken fonksiyonları içerir.
routes/api.php dosyasını düzenleyerek API rotalarını tanımlayın:
Route::resource('uruns', UrunController::class);
Bu satır, /api/uruns endpoint'i için tüm gerekli rotaları (GET, POST, PUT, DELETE) otomatik olarak tanımlar.
UrunController içindeki metotları, veritabanı işlemlerini gerçekleştirecek şekilde güncelleyin. Örneğin:
public function index() { $uruns = Urun::all(); return response()->json($uruns); }
Postman gibi bir araç kullanarak API endpoint'lerini test edin. Örneğin, GET isteği göndererek tüm ürünleri listeleyebilirsiniz.
Bu adımları takip ederek, Laravel ile basit bir RESTful API geliştirebilirsiniz. Daha karmaşık API'ler için, kimlik doğrulama, yetkilendirme ve validasyon gibi ek özellikler eklemeniz gerekebilir.