REST API nedir? Durmak ya da duraklatmak için bir şey mi söylüyor? RESTful API tembel bir program mı yoksa dinlenme durumunu başlatan bir program mı? Web ile ve arkasındaki çeşitli teknolojilerin nasıl çalıştığıyla ilgileniyorsanız, RESTful API hakkında bilmek isteyeceksiniz.
API, bir Uygulama Programlama Arayüzüdür. Bir API birçok programcı için birçok şey olabilir, fakat esas olarak bir programı diğerine eklemenizi sağlayan bir aracıdır. Birçok programcı ve geliştirici, başkalarının tüm sıkı çalışmalarını çalmalarını engellemek için temel kodlarını gizler. Diğer programların programları ile birlikte çalışmasını istiyorlarsa, bu etkileşime izin vermek için bazı kodlar kullanılabilir hale getirmeleri gerekir. API'lerin geldiği yer burasıdır. Bir geliştirici, diğer programların oluşturmalarıyla etkileşime girmesini sağlayan ve ek özellikler ve etkileşimler sağlayan API'ler oluşturabilir.
Bir API, kaynağın anlayabileceği ve çok fazla kaynak kullanmadığı belli bir biçimde biçimlendirilmiş belirli bir yapı ile yazılacaktır. Birçok web sitesi, program ve platform API kullanıyor. Facebook onları var, YouTube onları kullanıyor, Google Maps onları var, Android ve iOS onları kullanıyor ve en dikkat çekici yazılım bir çeşit programlama arayüzüne sahip olacak. Programınızın nasıl bir araya getirildiğini dünyaya göstermeden değer ve özellikler katmanın iyi bir yoludur.
API'ler nasıl kullanılır?
Örneğin, bir telefon için bir dizi kamera filtresi oluşturmak istediğinizi varsayalım. Kendi kamera uygulamanızı oluşturmak yerine, kamerayı kullanmak için Apple veya Android kamera API'sini kullanırsınız. Bunun alternatifi, her telefon işletim sistemi için çok fazla iş gerektiren tamamen yeni bir kamera yazılımı oluşturmak olacaktır. Bunun yerine, mevcut kamera yazılımı ile iletişim kurabilen ve filtre verilerinizi ona gönderebileceğiniz bir API oluşturmanız gerekir.
API'ler ayrıca sistem kaynaklarına erişmek, diğer sistemlerle arayüz oluşturmak, tarayıcılara katma değer sağlayan özellikler ve tüm bu iyi şeyler için kullanılabilir. Bir API'nin diğer programlarla konuşan bir kod parçası olduğunu hatırlıyorsanız, tamam olmanız gerekir.
Başka bir örnek Google Haritalar’dı. Web sitenize konumunuzu gösteren bir Google Haritası eklemek istiyorsanız, haritayı Google’dan çekmek için bir HTTP GET sorgusu olan bir Google Haritalar API’sı kurdunuz. Bu şekilde, Google’ın bir şey yapması veya haritalama platformunun iç kısımlarına erişmesine izin vermeksizin istediğinizi elde edersiniz.
Bir API kullanarak, Google Haritalar sunucuları, haritalar sunucusunu aşırı yüklemeden kısa sürede milyonlarca sorguyu karşılayabilir. API sorguları, en az kaynağı kullanarak tatmin olmak için doğru bir şekilde yapılandırılacaktır. RESTful API, veritabanına hiçbir şeyin yazılmamasını sağlar ve harita sunucusunu bir sonraki sorguya bırakacak şekilde iz bırakmaz.
RESTful API
REST, Resmi Devlet Transferi anlamına gelir. Bir RESTful API, bir kaynaktan müşteriye veri aktarmak için kullanılır. Örnek olarak, bir arama motoru bir tür RESTful API kullanır. Bir arama terimi girdiğinizde, motor sunucuları sorgular. Servisler, kullanmanız için ilgili verileri tarayıcınıza aktarır. RESTful API böyle çalışır.
Artık bir API'nin harici programların diğer bazı programlarla etkileşime girmesine izin verdiğini biliyorsunuz. RESTful API, bağımsız bir programın, yukarıdaki arama motoru örneğindeki gibi tamamen ayrı bir veritabanıyla iletişim kurmasını sağlar.
RESTful API'nin çalışmasını sağlayan şey vatansız ve önbelleklenebilir olmasıdır. Vatansızlık, RESTful API tarafından yapılan sorgunun veritabanı üzerinde bir etkisi olmadığı anlamına gelir. Sorgu (her zaman) kaydedilmez, veritabanında hiçbir şey saklanmaz ve veritabanına yazamaz. Esasen salt okunurdur.
Önbelleğe alınabilme, API istemcisinin bilgileri ileride kullanmak üzere saklayabileceği ve her seferinde veritabanını sorgulaması gerekmediği anlamına gelir.
Web için, API muhtemelen bir isteği işlemek için HTTP yöntemini kullanır. Yaygın HTTP yöntemleri GET, POST, PUT ve DELETE'dir. Arama motoru örneğinde, RESTful API, arama sonuçlarını görüntülemek için arama sorgusu verilerinizi arama motoru veritabanından ALMAK için HTTP yöntemini kullanır.
Bir başka örnek Twitter kullanıcı araması olabilir. Www.twitter.com/realDonaldTrump URL'sini bir tarayıcıya koyarsanız, tarayıcı, Donald Trump'ın Twitter'daki verilerini Twitter'dan almak ve size göstermek için HTTP'yi kullanacaktır. Twitter kullanıcı adları benzersiz olduğundan, sorgu ayrıntıları tarayıcınıza döndürür.
RESTful API, sunucu performansını etkilemeden veya çok fazla bir şey vermeden bilgi paylaşmanın oldukça şık bir yoludur. Bu eğitim, nasıl çalıştıkları ve web ile bütünleştiklerinin yüzeyini çizer, ancak neler olup bittiğiyle ilgili temel bir fikir vermelidir.