API Nedir?

API Nedir?

Application Programming Interface, iki uygulamanın birbiriyle iletişime geçmesini sağlayan bir yazılım aracıdır diyebiliriz. Diğer bir deyişle bir uygulamaya ait yeteneklerin, başka bir uygulamada da kullanılabilmesi için, yeteneklerini paylaşan uygulamanın sağladığı arayüzdür.

En basitleştirilmiş tanımıyla API; Bir kod bölümünün başka bir kod bölümüyle iletişime geçmesidir.

API’ların kullanımında kendi yazdığımız uygulamalar ile kullandığımız API’lar farklı programlama dillerine sahip olabilirler.

Ayrıca API’lar platform bağımsız çalışırlar.

Neden API Kullanırız?

  • API kullanımı bizi ilgili işlemin gerektireceği iş yükünden kurtarır. “API hayatı kolaylaştırır”.

  • API’lar özel kullanıcı kitlelerine yönelik hazırlanırlar ve ilgili verileri hızlı bir şekilde oluşturmamızı sağlarlar.

  • Platform bağımsız çalışırlar.

  • Güncelleme durumunda bizim yapmamız gereken işlemler sınırlıdır.

API Kulanımının Avantajları Nelerdir?

  • Platform bağımsız olmaları

  • Verimliliği arttırmaları

  • İlgili verilere kolay ulaşım

  • İş yükünün azalması

Mimarilerine Göre API Çeşitleri

  1. REST API:
  • Rest(Representational State Transfer), Server (Sunucu) ve Client (İstemci) arasında veri alışverişini sağlayan bir mimari modeldir.

  • Rest API de Rest mimarisinin kullanımıyla web hizmetleri arasında veri alışverişini sağlayan uygulama ara birimidir.

  • REST (Representational State Transfer) API’lerde veriler, JSON (JavaScript Object Notation) formatında taşınırlar. REST API, oldukça kullanışlı ve hafif bir yapıda oldukları için çok tercih edilen bir mimaridir.

  • Rest, HTTP protokolünü kullanarak, URL adresleri üzerinden veri ve dosya alışverişi sağlayan bir yapıdır. Rest API ise Rest işlemini yapabilmek için kurgulanmış modüle verilen isimdir. Bu API (Modül) yardımıyla Rest işlemleri ve veri alışverişi yapılıyor.

2. SOAP:

  • SOAP (Simple Object Access Protocol) yani Basit Nesne Erişim Protokolü, dağıtık yapıda bulunan web servislerinin iletişimi gerçekleştirmek üzere kullanılan Sunucu — İstemci mantığında çalışan bir protokoldür. RPC (Remote Procedure Call) modelini kullanan SOAP, keskin kurallar kullanarak iletişim gerçekleştirir. Veri iletimlerinde ise XML formatı kullanılır. Yapılandırması Rest API’ye göre daha zor olsa da bu mimarinin daha güvenli bir bağlantı sağladığı söylenir.

SOAP yerine neden Rest tercih edilir?

  • Rest ile veri akışları SOAP’taki XML yerine daha hafif bir yapıdaki JSON formatı yardımıyla gerçekleşir.

  • SOAP’taki RPC gibi karmaşık bağlantı yapıları yerine HTTP protokolü kullanılır.

  • SOAP gibi sert standartlara göre daha esnek yapısı vardır.

  • SOAP gibi Proxy kullanımına zorlanmazsınız.

  • Kolay entegre edilebilen bir yapıdadır.

REST API Nasıl Çalışır?

API İşleminde Olan 3 Aşama;

1) Request: Bir şeyin yapılması için istek:

Request Yapısı:

  • Verb

  • Query string

  • Headers

  • Request body

2) Program: Bu isteğin tamamlanması için bir programın çalıştırılması

3) Response: Programın bir yanıt göndermesi

Response Yapısı:

  • Status code

  • Headers

  • Response body

Rest sırasında kullanılan HTTP istekleri ve işlevleri aşağıdaki gibidir;

  1. GET: Verileri almak — listelemek için kullanılan istek metodudur.

  2. POST: Belirli bir kaynağa veri göndermek için kullanılır.

  3. PUT: Belirli bir kaynaktaki verinin tamamının değiştirilmesi için kullanılan istektir.

  4. PATCH: Belirli bir kaynaktaki verilerin bir kısmının değiştirilmesi için kullanılan istektir.

  5. DELETE: Belirli bir kaynaktaki verilerin silinmesi için kullanılan bir istektir.

HTTP durum kodları

  1. 1xx — Bilgi: İstemci (Kullanıcı) tarafından sunucu tarafına isteğin ulaştığını gösteren bilgilendirme amaçlı bir koddur.

  2. 2xx — Başarılı: İstemci(Kullanıcı) tarafından sunucuya gönderilen isteğin, sunucu tarafından onaylanıp istemci(Kullanıcı) tarafına başarılı şekilde gönderildiğini ifade eden durum kodlarıdır.

  3. 3xx — Yönlendirme: Ulaşılması için istemci(kullanıcı) tarafından talepte bulunulan sayfanın başka bir sayfaya taşındığını ve ulaşmak için sayfa yönlendirme işlemi yapıldığını belirten durum kodlarıdır.

  4. 4xx — İstemci Hatası: İstemci tarafından bulunulan isteğin, sunucu tarafında bir karşılığı olmadığını bu nedenle hata alındığını ifade eden durum kodlarıdır.

  5. 5xx — Sunucu Hatası: İstemci tarafından bulunulan isteğin sunucuya ulaştığını fakat sunucu kaynaklı sorunlardan ötürü isteğin gerçekleştirilemediğini belirten hata durum kodudur.