REST API
REST API, yazılımların web adresleri ve standart HTTP komutlarıyla birbirine veri gönderip aldığı bir API biçimidir. Her veri türünün bir adresi olur ve okuma, ekleme, güncelleme, silme işlemleri belli komutlarla yapılır. Bugün kargo, ödeme ve muhasebe servislerinin çoğu REST API sunar.
REST API nedir?
REST API, bir API'nin web adresleri ve HTTP komutlarıyla çalışan biçimidir. REST, Representational State Transfer ifadesinin kısaltmasıdır. Bir mimari tarzdır, bir ürün değildir. Her veri türünün bir adresi olur: siparişler bir adreste, ürünler başka bir adreste durur. Cevap çoğunlukla JSON denen okunaklı bir metin biçiminde döner.
Bir örnek verelim. Siteniz stok bilgisini deponuzun yazılımından alıyor. Siteniz "/urunler/125" adresine GET komutu gönderir ve o ürünün stok sayısını alır. Yeni bir sipariş olduğunda "/siparisler" adresine POST komutuyla sipariş bilgisini gönderir. Sipariş iptal edilirse DELETE ya da durum güncellemesi için PATCH kullanılır. Her komutun anlamı standarttır, bu yüzden iki farklı ekip aynı dili konuşur.
Neden önemli?
REST, web'in zaten kullandığı altyapıyla çalışır. Öğrenmesi, denemesi ve belgelemesi kolaydır. Bir servisle çalışmaya başlamadan önce iyi belgelenmiş bir REST API sunup sunmadığına bakın. Belge yoksa entegrasyon uzar. Olay anında haber almak içinse REST'in yanında genellikle bir webhook kullanılır. Sistemleri nasıl bağladığımızı entegrasyon sayfasında anlattık.
Sık sorulanlar
REST API ile API arasındaki fark nedir?
API genel addır ve iki yazılımın konuştuğu her kapıyı kapsar. REST API bu kapının belli bir tarzıdır: web adresleri, HTTP komutları ve genellikle JSON kullanır.
REST API güvenli midir?
Güvenlik kuruluşa bağlıdır. Bağlantı HTTPS üzerinden yapılmalı, her istek bir anahtar ya da erişim belirteciyle doğrulanmalı ve her kullanıcı sadece yetkili olduğu veriyi görmelidir.
GET ve POST ne demektir?
GET bir bilgiyi okumak için, POST yeni bir kayıt göndermek için kullanılır. Güncelleme için PUT ya da PATCH, silme için DELETE kullanılır.
Kaynaklar
- 01 REST · MDN Web Docs