REST API, web'in kendi kurallarını (HTTP adresleri ve istek türleri) kullanarak yazılımlar arasında veri alışverişi yapmayı sağlayan en yaygın API tasarım biçimidir; her kaynak bir adrese, her işlem bir istek türüne karşılık gelir.
REST, API tasarlamak için kullanılan bir dizi ilkedir. Temel fikir basittir: her veri parçası (müşteri, sipariş, ürün) bir web adresiyle temsil edilir ve bu adrese gönderilen isteğin türü ne yapılacağını belirler. Okumak için GET, oluşturmak için POST, güncellemek için PUT veya PATCH, silmek için DELETE kullanılır. Cevaplar çoğunlukla JSON adı verilen, hem makinenin hem de insanın okuyabildiği bir metin biçiminde döner. Tarayıcınızın bir web sayfasını açarken yaptığı şeyle aynı mekanizmadır; farkı, cevabın görsel sayfa değil ham veri olmasıdır.
İşletme sahibi için neden önemli
REST yaygın bir standart olduğu için neredeyse her programlama dili ve platform onunla konuşabilir. Yazılımınızın REST API'si varsa, ileride bağlanmak isteyeceğiniz muhasebe programı, pazaryeri ya da mobil uygulama için ayrı bir dil öğrenmek gerekmez. Bu, sizi tek bir tedarikçiye bağımlı kalmaktan korur ve yeni bir entegrasyonun maliyetini öngörülebilir kılar. Ayrıca REST API'ler basit araçlarla denenebildiği için sorun anında neyin çalışmadığını tespit etmek daha kolaydır.
Örnek
Bir otelin rezervasyon yazılımı, oda müsaitliğini REST API üzerinden dışarı açıyor. Otelin kendi web sitesi, çalıştığı iki seyahat acentesi ve resepsiyondaki tablet aynı adrese soruyor: bu tarihte hangi odalar boş? Cevap tek kaynaktan geldiği için çifte rezervasyon riski ortadan kalkıyor.
Sık yapılan hata
REST etiketi taşıyan her API'nin iyi tasarlandığını varsaymaktır. Belgesi eksik, hata mesajları anlaşılmaz, sürüm değişikliklerinde eski bağlantıları bozan API'ler sık görülür. Diğer hata, güvenlik katmanını sonraya bırakmaktır: kimlik doğrulaması olmayan bir API, işletme verinizi herkese açık bırakır.
Teklif alırken sorulacak soru
API belgeleri hangi biçimde teslim edilecek ve örnek istekler içerecek mi? Kimlik doğrulama, istek sınırı ve sürümleme nasıl yönetilecek?
Sık sorulanlar
REST API ile API arasındaki fark nedir?
API genel kavramdır; REST, bu API'nin nasıl tasarlandığını belirten en yaygın biçimlerden biridir. Her REST API bir API'dir, ama her API REST kurallarına uymaz.
JSON nedir, bilmem gerekir mi?
JSON, API cevaplarının yazıldığı metin biçimidir. Bilmeniz gerekmez; ancak verinizin dışa aktarımını istediğinizde JSON ya da CSV gibi standart bir biçim talep etmek işinize yarar.