Sitemize hoşgeldiniz!  ::  Son eklenen yazı: Git’te “master” mı “main” mi? Bir kelimenin ardındaki hikâye  ::  Toplam 63 yazı  ::  Görüş ve önerileriniz için iletişim sayfasını kullanabilirsiniz.
» Menü
Anasayfa
Hakkımda
İletişim
» Kategoriler
› nostalji (8)
› laravel (7)
› php (5)
› web (3)
› agile (3)
› go (2)
› golang (2)
› api (2)
› redis (2)
› git (2)
› github (2)
› model (1)
» Arşiv
› Ekim 2025 (2)
› Temmuz 2025 (1)
› Nisan 2025 (3)
› Mart 2025 (5)
› Şubat 2025 (1)
› Ocak 2025 (43)
› Haziran 2011 (1)
› Kasım 2009 (1)
› Temmuz 2009 (1)
› Temmuz 2007 (1)
› Ocak 2007 (1)
› Kasım 2006 (1)
› Ekim 2006 (1)
› Ağustos 2006 (1)
Anasayfa » Yazılar » HTTP Durum Kodları ve API Yönetimi
HTTP Durum Kodları ve API Yönetimi
Yazan: Atilla Mutlu | Tarih: 14.01.2025 10:28 | Kategori: http status code

HTTP Durum Kodları

HTTP durum kodları, istemci ile sunucu arasındaki iletişimde kullanılan standart kodlardır. Bu kodlar, bir HTTP isteğinin sonucunu belirtir ve istemciye belirli bir mesaj iletir. İşte en yaygın HTTP durum kodlarının açıklamaları ve kullanımları:

1xx: Bilgilendirme

  • 100 Continue: Sunucu, istemciye istek gövdesini göndermeye devam etmesi gerektiğini belirtir.
  • 101 Switching Protocols: Sunucu, istemciden gelen protokol değiştirme talebini kabul eder.

2xx: Başarı

  • 200 OK: İstek başarıyla tamamlandı.
  • 201 Created: İstek başarıyla tamamlandı ve yeni bir kaynak oluşturuldu.
  • 202 Accepted: İstek alındı, ancak henüz işlenmedi.
  • 204 No Content: İşlem başarıyla tamamlandı, ancak yanıt gövdesi yok.

3xx: Yönlendirme

  • 301 Moved Permanently: Kaynak kalıcı olarak başka bir URL'ye taşındı.
  • 302 Found: Kaynak geçici olarak başka bir URL'ye yönlendirildi.
  • 304 Not Modified: Kaynak değişmedi, istemci mevcut veriyi kullanabilir.

4xx: İstemci Hataları

  • 400 Bad Request: İstek hatalı veya eksik veri içeriyor.
  • 401 Unauthorized: Kimlik doğrulama gereklidir.
  • 403 Forbidden: İstemci, kaynağa erişim yetkisine sahip değil.
  • 404 Not Found: İstenen kaynak bulunamadı.
  • 405 Method Not Allowed: Kullanılan HTTP metodu desteklenmiyor.
  • 406 Not Acceptable: Kaynak, istemcinin kabul ettiği içerik türünde değil.
  • 409 Conflict: Mevcut kaynakla çelişen bir istek.
  • 422 Unprocessable Entity: Sunucu, isteği anladı ancak işleyemedi.
  • 429 Too Many Requests: İstemci çok fazla istek gönderdi.

5xx: Sunucu Hataları

  • 500 Internal Server Error: Sunucuda beklenmeyen bir hata meydana geldi.
  • 502 Bad Gateway: Sunucu, başka bir sunucudan geçersiz yanıt aldı.
  • 503 Service Unavailable: Sunucu geçici olarak hizmet veremiyor.
  • 504 Gateway Timeout: Sunucu, başka bir sunucudan yanıt alamadı.

API Nedir?

API (Application Programming Interface), farklı yazılım uygulamalarının birbiriyle iletişim kurmasını sağlayan bir arayüzdür. API'ler genellikle REST, GraphQL veya SOAP standartları kullanılarak tasarlanır.

RESTful API

REST (Representational State Transfer), HTTP protokolünü temel alır ve şu dört ana HTTP metodunu kullanır:

  • GET: Veri almak için kullanılır.
  • POST: Yeni veri oluşturmak için kullanılır.
  • PUT/PATCH: Mevcut veriyi güncellemek için kullanılır.
  • DELETE: Veri silmek için kullanılır.

GraphQL

GraphQL, REST'e alternatif bir API standardıdır. İstemciye ihtiyaç duyduğu veri yapısını sorgulama imkanı sunar.

SOAP

SOAP (Simple Object Access Protocol), daha eski bir API standardıdır ve XML tabanlı bir protokoldür.

Laravel'de API Yönetimi

Laravel, güçlü bir API geliştirme çerçevesidir ve aşağıdaki araçları sunar:

1. API Rotaları

API rotalarını routes/api.php dosyasında tanımlayabilirsiniz. Örnek:

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

Route::get('/users', function () {
    return User::all();
});

2. Kontrolcüler

API mantığını daha düzenli bir şekilde yönetmek için kontrolcüler oluşturabilirsiniz:

php artisan make:controller UserController

Ardından, rotaları kontrolcüye yönlendirin:

Route::get('/users', [UserController::class, 'index']);

3. Middleware

Laravel, API'ler için kimlik doğrulama ve diğer işlemleri middleware ile destekler:

  • auth:api: API token doğrulaması için kullanılır.
  • throttle: İstekleri sınırlamak için kullanılır. Örnek:
    Route::middleware('throttle:60,1')->group(function () {
    Route::get('/posts', [PostController::class, 'index']);
    });

4. API Resource

Laravel, JSON formatında yanıt döndüren API kaynakları sağlar:

php artisan make:resource UserResource

UserResource içinde, veriyi yapılandırabilirsiniz:

public function toArray($request)
{
    return [
        'id' => $this->id,
        'name' => $this->name,
        'email' => $this->email,
    ];
}

5. Test

API'leri test etmek için Laravel'in test özelliklerini kullanabilirsiniz:

php artisan test

Bir API testi örneği:

public function test_get_users()
{
    $response = $this->get('/api/users');

    $response->assertStatus(200);
}

6. API Rate Limiting

Laravel, RateLimiter sınıfıyla istek sınırlarını kolayca yönetir:

use Illuminate\Support\Facades\RateLimiter;

RateLimiter::for('global', function () {
    return Limit::perMinute(100);
});

Sonuç

HTTP durum kodları, API'lerin doğru yanıtlar döndürmesini sağlarken; Laravel, API geliştirme için güçlü araçlar sunar. Yukarıdaki adımları takip ederek, ölçeklenebilir ve sağlam API'ler geliştirebilirsiniz.

« Geri dön | Yorum gönder | Yukarı ↑
» Hakkımda
A
Atilla Mutlu
Yazılım Geliştirici

Devamını oku »
» Son Yazılar
› Git’te “master” mı “main” mi? Bir kelimenin ardındaki hikâye
› Laravel Model Controller
› PostgreSQL Mini‑Kılavuz
› ReactJS Rehberi
› Spatie Laravel Paketleri
» İstatistik
Ziyaretçi Sayısı
036382
Toplam yazı: 63
PHPpowered SQLiteinside Firefoxile daha iyi CSStables ♥
Bu site en iyi 1024x768 çözünürlükte görüntülenir.
Copyright © 2006-2026
Anasayfa | Hakkımda | İletişim | Yukarı ↑
Bu sayfa 0,021 saniyede oluşturuldu.