SE Logo

API’ler Nasıl Çalışır? Uygulamaların Birbirleriyle Konuşma Dili

Paylaş:
API’ler Nasıl Çalışır?

Günümüzde kullandığımız her uygulama, görünürde tek başına çalışıyor gibi görünse de arka planda birçok sistemle sürekli iletişim hâlindedir. Bir yemek sipariş uygulamasından konum bilgisi alması, hava durumu uygulamasının haritayla çalışması veya bir web sitesine Google hesabınla giriş yapabilmen… İşte tüm bunlar, API (Application Programming Interface) sayesinde gerçekleşir.

API’leri, uygulamalar arasında bir köprü olarak düşünebiliriz. Bir sistem diğerinden bilgi talep ettiğinde bu bilgi belirli standartlarla API üzerinden iletilir. Böylece uygulamalar aynı dili konuşmadan birbirini anlayabilir.


API Tam Olarak Ne Yapar?

Bir örnekle düşünelim:

Bir kafeye gidiyorsun. Garson senin siparişini alıp mutfağa iletiyor. Mutfak yemeği hazırlayıp garsona veriyor. Garson da sana getiriyor.

Burada Sen → Müşteri
Garson → API
Mutfak → Sunucu (Server)

Sen doğrudan mutfağa gidip yemek istemiyorsun. İşte tıpkı bunun gibi, uygulamalar da arka plandaki karmaşık sistemlere API aracılığıyla erişir.

API, bir uygulamadan diğerine ne şekilde bilgi istemesi ve göndermesi gerektiğini tanımlar.


En Yaygın API Türü: REST API

REST (Representational State Transfer)
Bugün internette gördüğümüz web servislerinin büyük çoğunluğu REST API’ler ile çalışır.

REST API’nin Özellikleri:

  • İstekler (requests) HTTP üzerinde yapılır
  • GET, POST, PUT, DELETE gibi metotlar kullanılır
  • JSON formatında veri alışverişi yaygındır
  • Basit, hızlı ve yüksek uyumluluk sağlar

Örnek bir REST isteği şöyle görünebilir:

GET https://api.weather.com/istanbul

Bu, sunucudan İstanbul hava durumu bilgisini getir demektir.


GraphQL: Daha Esnek API Teknolojisi

Facebook tarafından geliştirilen GraphQL, REST’in bazı eksiklerini tamamlamak için ortaya çıktı.

REST’te bazen gereğinden fazla veri gelir. GraphQL ile ise sadece ihtiyaç duyduğun veriyi talep edersin.

GraphQL’in avantajları:

  • Tek endpoint ile çalışır
  • İhtiyaç duyulan alanlar seçilebilir
  • Veri istekleri daha verimlidir
  • Mobil uygulamalar için mükemmel bir optimizasyon sunar

GraphQL sorgu örneği:

{
  city(name: "Istanbul") {
    temperature
    humidity
  }
}

→ Bu sorgu, sadece sıcaklık ve nem bilgisini getirir. Ne eksik ne fazla.

API Akış Diyagramı

REST vs GraphQL Karşılaştırması

ÖzellikREST APIGraphQL
Endpoint SayısıÇokTek
Veri MiktarıFazla gelebilirTam ihtiyaç kadar
PerformansGenellikle hızlıKarmaşık projelerde üstün
Öğrenme EğrisiDaha kolayBiraz daha ileri seviye

Küçük/orta ölçekli projelerde REST
Büyük ve karmaşık veri ihtiyaçlarında GraphQL daha ideal olabilir.


API’ler Olmasaydı?

  • Web sitelerinde harita kullanamazdık
  • Banka işlemlerini dijitalleştiremezdik
  • Sosyal medya paylaşımı uygulamalara entegre olmazdı
  • Üçüncü parti giriş (Google - Facebook login) olmazdı

Bugünün entegre dijital dünyası API sayesinde ayakta duruyor.


API Güvenliği Neden Önemli?

Her API bir kapıdır.
Bu kapı doğru korunmazsa siber saldırganlar sistemlere sızabilir.

API güvenliğinde temel önlemler:

  • Kimlik doğrulama (OAuth, API Key)
  • İstek sınırlaması (Rate limiting)
  • Yetkilendirme kontrolü
  • Veri şifreleme (HTTPS)

Sonuç: API’ler Dijital Dünyanın Sessiz Kahramanları

API’ler, farklı sistemlerin sorunsuz bir şekilde iletişim kurmasını sağlayan görünmez birer tercümandır. Bir uygulamanın tüm gücünü, başka bir uygulamaya entegre eder ve dijital deneyimi zenginleştirir.

Dünyayı birbirine bağlayan bu yapı taşını anlamak, yazılım geliştiriciler için büyük bir kapı açar.
Çünkü yazılım, artık tek başına değil; birlikte çalıştığında anlamlıdır.

Sıkça Sorulan Sorular (SSS)

API nedir ve ne işe yarar?

API (Application Programming Interface), farklı yazılımların birbiriyle konuşmasını sağlayan arayüzdür. Bir uygulama, başka bir sistemden veri almak veya işlem yaptırmak istediğinde bu isteği belirli kurallar çerçevesinde API üzerinden iletir; böylece sistemler arka plandaki detayları bilmeden entegre çalışabilir.

REST API ve GraphQL arasındaki temel fark nedir?

REST API, çoklu endpoint yapısıyla çalışır ve genellikle her endpoint belirli bir veri kaynağına karşılık gelir; bazen ihtiyaçtan fazla veya eksik veri dönebilir. GraphQL ise tek bir endpoint üzerinden istenen alanların açıkça belirtildiği sorgularla çalışır, böylece istemci tam olarak ihtiyaç duyduğu alanları talep ederek daha verimli veri alışverişi sağlayabilir.

API güvenliğini sağlamak için hangi önlemler alınmalıdır?

API güvenliği için kimlik doğrulama (API key, OAuth gibi), yetkilendirme kontrolleri, rate limiting, HTTPS ile şifreli iletişim ve girişlerin doğrulanması gibi önlemler alınmalıdır. Ayrıca loglama ve izleme mekanizmalarıyla olağan dışı istekler tespit edilerek saldırılara karşı erken önlem alınabilir.

İlgili Yazılar