Web API Geliştirme: RESTful Servisler ve Swagger Entegrasyonu

crazy_coder

Moderatör
Katılım
20 Şub 2026
Mesajlar
204
Tepkime puanı
0
Puanları
16

ASP.NET Core Web API: RESTful Mimari ve Swagger Dünyası​


Web API, kullanıcıya bir HTML sayfası döndürmek yerine doğrudan ham veri (genellikle JSON) döndüren bir servis yapısıdır. Bu servisler, "Dilsiz" (Stateless) oldukları için her türlü cihaz tarafından kolayca tüketilebilir.



1. RESTful Mimari Nedir?​


REST (Representational State Transfer), web servisleri tasarlarken kullanılan standart bir mimari stildir. Bu mimaride her "kaynak" (resource) bir URL ile temsil edilir ve işlemler HTTP metotları üzerinden yapılır.

Temel HTTP Metotları:

  • []GET: Veriyi okumak/listelemek için (Örn: /api/urunler).
    []POST: Yeni bir veri oluşturmak için.
    []PUT: Mevcut bir veriyi tamamen güncellemek için.
    []PATCH: Verinin sadece bir kısmını güncellemek için.
  • DELETE:** Veriyi silmek için.




2. Web API Controller Yapısı​


Bir Web API Controller'ı, MVC'den farklı olarak ControllerBase sınıfından türetilir ve arayüz (View) desteği içermez.

C#:
[ApiController] // API davranışlarını otomatikleştirir
[Route("api/[controller]")] // URL rotasını belirler: api/urunler
public class UrunlerController : ControllerBase
{
[HttpGet]
public IActionResult Getir()
{
var urunler = new List<string> { "Laptop", "Telefon", "Tablet" };
return Ok(urunler); // 200 OK durum kodu ve JSON verisi
}

[HttpPost]
public IActionResult Ekle([FromBody] string ad)
{
    // Veri ekleme mantığı
    return Created("", ad); // 201 Created durum kodu
}

}



3. Swagger (OpenAPI) Nedir?​


API geliştirirken en büyük sorunlardan biri, "Hangi uç noktalar (endpoint) var?" ve "Bu API nasıl kullanılır?" sorularıdır. Swagger, API'niz için otomatik olarak interaktif bir dökümantasyon sayfası oluşturur.

Avantajları:

  • []Canlı Test:** Postman gibi araçlara gerek kalmadan tarayıcı üzerinden API'yi test edebilirsiniz.
    []Dökümantasyon:** API'nin beklediği parametreleri ve dönüş tiplerini net bir şekilde gösterir.
    [*]Standart:** OpenAPI standartlarına uygun olduğu için farklı araçlarla entegre çalışabilir.




4. Web API vs MVC: Hangisi?​


ÖzellikASP.NET Core MVCASP.NET Core Web API
Çıktı TipiHTML (View)JSON / XML
KullanıcıSon Kullanıcı (Tarayıcı)Diğer Uygulamalar (Mobil, SPA)
BağımlılıkSıkı (View ve Model iç içe)Gevşek (Sadece veri alışverişi)



Sonuç​


Web API geliştirmek, modern uygulama dünyasının anahtarıdır. Doğru HTTP metotlarını kullanmak, durum kodlarını (Status Codes) yerinde döndürmek ve Swagger ile dökümante etmek, yazdığınız servislerin profesyonelliğini belirler. Unutmayın, iyi bir API sadece çalışan değil, aynı zamanda başkaları tarafından kolayca "tüketilebilen" API'dir.
 
Geri
Üst