API Nedir?
“API” kelimesini tanıdıklarını duydunuz ve bunun tam olarak ne olduğunu merak ettiniz mi? Belirsiz bir fikriniz var mı, ancak bir API ile neler yapabileceğiniz ve nasıl bir tane oluşturabileceğiniz hakkında daha fazla bilgi edinmek ister misiniz?
Aşağı inelim ve bir API'nin ne olduğunu ve bir API oluşturmanın diğer web uygulamaları ve web siteleri türlerinden daha benzer (veya farklı!) Olduğunu seçelim. İşte bir API'nin ne olduğu, onu farklı kılan ve kendiniz için ne yapmanız gerektiğine dair kısa bir başlangıç.
UYGULAMA PROGRAMLAMA ARABİRİMİ (API)
Temel anlamda API'ler uygulamaların birbirleriyle iletişim kurmasına izin verir.
İnsanlar bir “API” dan bahsettiklerinde bazen genelleştirir ve aslında “muhtemelen JSON veya XML'de veri döndüren, halka açık bir web tabanlı API” anlamına gelir. API, veritabanı veya sunucu değil, yöneten koddur. erişim noktaları) Sunucu için
Bir API bir veritabanı değildir. Bir veritabanına erişebilen bir uygulamanın erişim noktasıdır.
Bu yazıda, bu belirli API türlerine odaklanacağız - bir müşteri tarafından yapılan bir talebe yanıt olarak veri döndüren web tabanlı API'ler.
Dış kaynaklardan veri almamıza izin veriyorlar.
- Bir API'ye, istediğimiz bilgileri ayrıntılandıran bir istek gönderebiliriz.
- API'ler, sitelerimizin diğer uygulamalardaki verileri de değiştirmesine izin verir. Örneğin, çeşitli web sitelerinde muhtemelen "Facebook'ta Paylaş" veya "Twitter'da Paylaş" düğmelerini gördünüz. Bu düğmelerden birini tıkladığınızda / ziyaret ettiğiniz site, Facebook veya Twitter hesabınızla iletişim kurabilir ve yeni bir durum veya tweet ekleyerek verilerini değiştirebilir.
PEKİ NEDEN BİR API’YE İHTİYACIMIZ OLSUN?
Aşağıdaki senaryoyu hayal edin: Siz (uygulamanız veya müşteriniz, bu bir web tarayıcısı olabilir) başka bir uygulamanın verilerine veya işlevselliğine erişmek istersiniz. Örneğin, belki #epicodus etiketinden bahseden tüm Twitter tweet'lerine erişmek istersiniz .
Twitter'a e-posta gönderebilir ve tüm bu tweet'lerin bir elektronik tablosunu isteyebilirsiniz. Ancak, bu elektronik tabloyu uygulamanıza içe aktarmanın bir yolunu bulmanız gerekir; ve, onları olduğu gibi bir veritabanında saklasanız bile, veriler çok hızlı bir şekilde eskimiş olur . Güncel tutmak imkansız olurdu.
Bu verileri almak için uygulamalarını sorgulamanızın bir yolunu sağlamak, Twitter'ı kendi uygulamanızda görüntülemeniz veya kullanmanız için daha iyi ve basit olacaktır. Bu şekilde otomatik olarak güncel kalacaktır.
Bir API aracısı, işlevsellik veya verilere erişim sağlamak için farklı bir uygulamaya erişimi sağlar, böylece veriler farklı uygulamalara dahil edilebilir.
GENEL, WEB TABANLI API'LARI KİM YARATIR?
Büyük teknoloji şirketleri, özellikle de sosyal medya şirketleri, toplam verilerini sık sık kamuya açık hale getirmektedir, ancak API'leri, herhangi bir şeyi paylaşmak için kamu kuruluşları, konferanslar, yayınevleri, yazılım girişimleri, hayran grupları, eSpor ligleri ve hatta bireyler tarafından da sağlanmaktadır. trivia sorularına, sıralamalarına, haritalara, şarkı sözlerine, yemek tariflerine, parça listelerine ve daha fazlasına yönelik sosyal medya içeriği.
Kısacası, veri toplayan herhangi bir kişi veya kuruluş, bu verilerin farklı bir uygulama tarafından kullanılmaya uygun hale getirilmesiyle ilgilenebilir. Belki oluşturmak ve kullanıma sunmak istediğiniz bir API'niz var?
BİR API “DÜZENLİ” VERİTABANI DESTEKLİ BİR PROJEDEN NASIL FARKLILAŞIYOR?
Bir API, genellikle bir ön uç içermesi gerekmeyen bir veritabanı destekli (veya statik) web uygulamasından veya siteden farklıdır - HTML içermez, kullanıcıya statik sayfalar veya verileri birleştiren dinamik olarak oluşturulan şablonlar aracılığıyla CSS gösterilmesi gerekir yeniden kullanılabilir düzenleri ile.
Veri alma veya yazma istekleri genellikle bir sunucuya bir HTTP isteği göndererek, bir ön uç olmadan yapılır.
Java, Ruby, PHP, JS ile düğüm ya da başka bir dilde sunucu tarafı uygulamaları oluşturmaya aşina iseniz, belirli yollara olan ihtiyacı büyük olasılıkla göreceksiniz : bazı verilerle bir istek aldıklarında belirli işlemlerin yapılmasını sağlamak için yol işleyicilerini tetikleyen URL'ler . API’ler, farklı bir sitenin kullanabileceği şekilde rotalara sahiptir, genellikle bu rotalarda şablonlar sunmazlar.
PEKİ JSON NEDİR VE NEDEN KULLANIYORUZ?
JSON açılımı J Ava S cript O Nesne , N -rotasyon ve temelde JavaScript gibi görünüyor nesneleri verileri temsil eden bir yöntemdir.
Biraz da şuna benzeyebilecek bir Restoran için tipik bir JavaScript Nesnesine bakalım:
“Restaurant”: { “name”: “Fish Witch”, “adres”: “214 NE Broadway”, “posta kodu”: “97232”, “telefon”: “503–000–0000”, “web sitesi”: “ https://zaptasarim.com ", " e-posta ":“ email@example.com ” }
Temiz. Bunu okumak oldukça kolaydır - verilerimiz anahtar / değer çiftleri olarak saklanır. Bu , soldaki anahtarı ve sağdaki değeri görebileceğimiz anlamına gelir . Anahtar, her bir Restaurant nesnesi için aynı kalır, ancak değer farklı olacaktır. Farklı bir restoran farklı bir adrese sahip olacaktır, ancak özellikleri aynı olacaktır - her zaman bir isim, adres, posta kodu, telefon ve e-posta adresi olacaktır.
JSON, modern web uygulamalarında her yerdedir . Bu hem hafif, okunabilir, ve o gibi, JavaScript ile yazılan uygulamaları ile süper iyi çalışıyor olduğunu JavaScript. Ancak Java da dahil olmak üzere diğer dillerde yazılmış uygulamaların okunması ve oluşturulması için de karşılaştırılması kolaydır. Bu, JSON'u döndüren bir API'ye Java, Ruby, Python, JS, PHP ve daha birçoklarında yazılmış bir uygulamadan erişilebileceği anlamına gelir. Bu bir API'yi ölçeklenebilir ve platformdan bağımsız kılar . Aha! Ölçeklenebilir! Platform bağımsız! Güzel sözler, güçlü sözler, $$ sözler.
BİR API OLUŞTURMAK İSTİYORUM!
Müthiş! Bir API oluşturmak, Java Spark, JavaScript Express, C # ASP.net, Ruby on Rails vb.
GSON kütüphanesini kullanarak Java Spark'da yerleşik basit bir API örneği
Genel bir API oluşturmak için aşağıdakilere ihtiyacınız olacaktır:
- Yukarıda bahsedildiği gibi bir yönlendirme ile bir arka uç
- Uygulamanızın verilerini depolayabileceği bir veritabanı. Bu, MySQL veya Postgres gibi, çalıştırmakta olduğunuz bir veritabanı sunucusu veya Firebase gibi bir BaaS (hizmet olarak arka uç) DB olabilir.
- Bir sunucunun, muhtemelen uygulamanızın çalışabileceği, internete erişebilen bir VPS (Sanal Özel Sunucu). (Bunun için DigitalOcean, Amazon Web Services veya Microsoft Azure'a bakabilirsiniz)
UYGULAMAMA BİR API BAĞLAMAK İSTİYORUM!
Çok havalı. API'ler, Uygulamanızın işlevselliğini gerçekten önemli yollarla genişletebilir. Harita, hava durumu verileri veya diğer bilgileri eklemek inanılmaz derecede faydalı olabilir.
- Erişmek istediğiniz bilgi türünü sunan ortak bir API bulun. İyi bir şekilde belgelendiğinden ve bakımının yapıldığından emin olun. Birçok APIS sunan bazı siteler Programlanabilir Web , AnyApi ve public.apis.zone'dur.
- API'nin sizin için uygulanabilir olduğundan emin olmak için belgeleri okuyun. Birçok API verisine erişmek için bir API anahtarına kaydolmanızı gerektirir veya bilgiye erişebilmeniz için uygulamanızın geçmesi gereken kimlik doğrulama akışlarına sahiptir.
- Mevcut verilerin şeklini anlayın. Devam et ve daha önce yapmadıysan, Postacı aracını kontrol et, API'lerle çalışmayı pek çok yönden kolaylaştıran harika bir yazılım. API'lere test istekleri göndermenize yardımcı olur, böylece aldığınız verileri deneyebilirsiniz.
- Uygulamanızdan API'yi arayın ve aldığınız verileri işleyin, uygulamanızda gösterin! Bu en heyecan verici kısım. API'yi Postman gibi bir araçla başarıyla sorgulayabildiğinizde, API'nin döndürdüğü verileri kendi çalışmanıza entegre eden kodu yazabilir ve kullanıcılarınıza görüntüleyebilirsiniz.