Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

REST API Örnekleri

REST API Örnekleri

Birden fazla platform arasında veri alışverişi, entegrasyon çağında her zamankinden daha önemli. Entegrasyonların olmadığı bir çevrimiçi mağaza düşünün. Web siteniz, ürün listelerini yönetmenin yanı sıra kullanıcı hesaplarını, e-posta aboneliklerini, ödeme işlemlerini , gönderileri ve diğer görevleri yönetmek için sistemler geliştirmek zorunda kalacaktır. Bu, ölçeklenebilir bir seçenek olmadığı için bu görevleri başka sağlayıcılara devretmek daha etkili olacaktır.

Uygulama programlama arayüzleri veya web API'leri, yazılım programlarının birbirleriyle iletişim kurmak için kullandıkları şeydir. API'ler, iki program arasında veri alışverişi için tutarlı bir protokol sunar. Web API'lerinin yardımıyla çevrimiçi mağazanız teslimat yazılımı, istemci uygulamaları, ödeme uygulamaları ve diğer gerekli bağlantılarla iletişim kurabilir.

API oluşturmanın çeşitli yolları vardır; ancak, hizmetlerinize yazılım bağlantıları eklemek istiyorsanız, aşina olmanız gereken benzersiz bir teknik vardır: REST API'leri web hizmetleri. Bu yazıda, REST API örneklerini, REST API'nin ne olduğunu, REST API'lerin nasıl çalıştığını, REST API'lerin ne için kullanıldığını, tarihçesini, öğelerini ve daha fazlasını tartışacağız.

REST API tam olarak nedir?

Temsili durum aktarımı veya REST API'leri web hizmetleri, uygulamaları birleştirmek için çok yönlü, taşınabilir bir yol sundukları için mikro hizmet çerçevelerindeki bileşenleri bağlamak için en standart uygulamadır. REST, dahili ve harici paydaşlarla standartlaştırılmış ve öngörülebilir bir şekilde etkileşim kurmak için kullandığımız popüler bir API tasarımıdır.

Web uygulamalarının kullanıcıları, birbirleriyle iletişim kurmak için sıklıkla REST API'lerinin web hizmetlerini kullanır. Örneğin, bir sosyal medya programında hesap ayrıntılarını almak ve incelemek. REST API tarayıcıları, web'in sözdizimi olarak görüntülenebilir. Çevrimiçi müşteriler, bulut kullanımı arttıkça dijital işlemlere erişim sağlamak ve yönetmek için web API'lerini kullanır.

Müşterilerin dağınık bir bağlamda dinamik olarak dijital web hizmetlerine bağlanmasına, bunları yönetmesine ve bunlarla etkileşime girmesine olanak tanıyan web API'leri tasarlamak mantıklı bir karardır. Google, eBay, Facebook, Amazon ve Twitter gibi web siteleri RESTful web servislerini kullanır. İstemci uygulamaları artık bu web hizmetlerine erişmek için REST'i kullanabilir.

REST API MODEL

REST teknolojisi, diğer ilgili teknolojilere göre tercih edilir. Bunun nedeni, REST web hizmetlerinin daha az bant genişliği tüketmesidir ve bu da onları verimli çevrimiçi etkinlik için ideal hale getirir. RESTful web hizmetleri, JavaScript veya Python gibi programlama dilleri kullanılarak da geliştirilebilir.

REST API'leri nasıl çalışır?

REST API'lerinin nasıl çalıştığını bilmek için bazı temel terimleri tanımlamamız gerekir:

Müşteri

Bir API kullanıcısına istemci denir. İstemci, verileri almak veya programdaki değişiklikleri uygulamak için web API'lerine sorgular gönderir. İnternet tarayıcınız bir istemcidir; sayfa içeriğini elde etmek için çeşitli web API'leri ile iletişim kurar. Bilgisayarınız, daha sonra ekranda gösterilen gerekli bilgileri alır.

Aşağıdakiler en popüler HTTP yöntemleridir:

  • İstenen verileri veya istenen kaynakları döndürmek için GET isteğini kullanın.
  • Yeni bir kaynak oluşturmak için POST isteğini kullanın
  • Mevcut bir kaynakta değişiklik yapmak veya mevcut bir kaynağı güncellemeye devam etmek için PUT talimatını kullanın.
  • Bir kaynaktan kurtulmak için DELETE komutunu kullanın.

Örneğin, Youtube'un API'sine yapılan bir HTTP isteği, belirli bir video veya gönderi için bir GET istek kaynağı veya yeni bir fotoğraf yayınlamak için bir POST isteği olabilir. Yeni gönderiler yayınlamak için POST istek yöntemini kullanabilirsiniz. Buna uygun olarak, bir otomatik görevli uygulamasıyla bütünleşen bir müşteri web hizmetleri platformu, özel bir merhabayı güncellemek veya ortadan kaldırmak için PUT talimatını kullanabilir.

İstek Al

  • GET isteklerinin önbelleğe alınması mümkündür. Tarayıcının geçmişi, GET isteklerini içerir.
  • GET isteklerini işaretlemek mümkündür.
  • Kritik materyallerle çalışırken asla GET isteklerini kullanmayın.
  • GET isteklerinde uzunluk sınırlamaları vardır.
  • GET istekleri aracılığıyla yalnızca veri sorguları yapılır

POST yöntemi

POST isteği, kaynakları eklemek veya güncellemek için bir sunucuya bilgi göndermek için bir gönderme yöntemidir. Bir HTTP isteğinin istek gövdesi, sunucu tarafında yayınlanan verileri içerir:

  • POST istekleri, gönderim yöntemi hiçbir zaman önbelleğe girmez.
  • POST istekleri, tarayıcının geçmişinde saklanmaz.
  • POST istekleri işaretlenemez

Yanıt Gövdesi

Response body, RESTful API'nin önemli unsurlarından biridir. İstenen veriler yanıt gövdesine dahil edilir. Yanıt gövdesi, çıkış ve çıkış mantık bağlantı noktalarına ilişkin verileri içerebilir.

Kaynak

Web API'lerinin kullanıcıya verebileceği herhangi bir veri bir kaynaktır. Örneğin, bir kişi, sayfa, resim veya açıklamanın tümü Facebook API'sinde kaynak olarak kabul edilebilir. Kaynak tanımlayıcı, her kaynağa verilen özel bir terimdir.

Web sunucusu

Müşteri istek gövdesini kabul eden program, tüketicinin istediği kaynakları barındıran bir web sunucusu kullanır. Sunucu, müşterilere veritabanlarında tutulan bilgilere anında erişim sunmadan bir API aracılığıyla istemcilerle iletişim kurabilir. Bir kullanıcı bir istek gövdesi göndermek için RESTful web hizmetlerine eriştiğinde, sunucu tarayıcıya kaynağın durumunun normalleştirilmiş bir tasvirini gönderir.

Bu, sunucunun bir şekilde tam kaynağı istemciye göndermediğini, bunun yerine durumunu, yani kaynağın belirli bir zaman damgasındaki durumunu yansıttığını gösterir. Anlaşılabilirliğe yardımcı olmak için yanıtlar hafif bir biçimde döndürülür.

Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

JSON (JavaScript Object Notation), hem insanlar hem de makineler tarafından okunabilir olduğu ve web erişilebilirliğini artırmaya yardımcı olma konusunda üstün olduğu için yaygın olarak kullanılmaktadır. JSON, öncelikle web uygulamalarında ve istemci uygulamalarında istek gövdesi göndermek için kullanılır. Çeşitli kodlamalarla uyumlu bir formdur. JSON dışındaki API veri biçimleri, XML , YAML, CSV, HTML ve düz metin içerir. API kullanıcıları, özel medya türlerini kullanarak istedikleri herhangi bir veri biçimini seçebilirler.

JSON

REST API'lerinin Geçmişi

Birçok programcı, API'leri dahil etmek için REST'ten önce SOAP ile çalışmak zorunda kaldı. SOAP oluşturmak, kullanmak ve hata ayıklamak herkesin bildiği gibi zor görevlerdi. Neyse ki REST, API ortamını sonsuza dek değiştiren Roy Fielding'in yönetimindeki bir programcı ekibi tarafından geliştirildi.

İşte zaman içinde REST API'lerinin gelişiminin bir kronolojisi:

REST'ten önce

Programcılar, SOAP kullanarak web API'lerini bağlamak için içeriğin içinde bir Uzaktan Yordam Çağrısı (RPC) içeren bir XML dosyasını manuel olarak yazdılar. Bundan sonra, tasarımcılar SOAP paketlerini belirtilen uç noktaya POST yapacaktı.

2000 yılında

Roy Fielding liderliğindeki bir programcı ekibi, herhangi bir sunucunun diğer herhangi bir sunucuyla iletişim kurmasını sağlayan bir çerçeve geliştirmeyi seçti. REST API'leri için kısıtlamaları koydu. Bu yönergeler evrensel olduğundan, yazılım geliştirmek daha kolaydır.

2002 yılında

eBay, 2002 yılında RESTful API'sini geliştirdi ve pazarını bundan faydalanabilecek herhangi bir web sitesine açtı. Bu nedenle, bir başka e-ticaret devi olan Amazon, bununla ilgilenmeye başladı ve 2002'de RESTful API'sini yayınladı.

2004-2006 yılında

Flickr'ın RESTful web hizmetleri 2004'te yayınlandı ve yazarların web sitelerine ve sosyal medya gönderilerine hızla fotoğraf eklemelerine olanak sağladı. Twitter ve Facebook, önemli sayıda programcının web sitelerini taradığını ve "Frankenstein" API'leri oluşturduğunu fark ettiğinde, ikisi de yaklaşık iki yıl sonra API'lerini ortaya çıkardı.

2006-Günümüz

RESTful web hizmetleri, uygulamalarının ve sitelerinin performansını artırmak için bu RESTful web hizmetlerini kullanan programcılar tarafından artık geniş çapta kabul görmektedir. AppMaster işbirliğini kolaylaştırır ve API'leri oluşturmayı kolaylaştırır, böylece daha hızlı yapmanızı sağlar.

REST API'leri ne için kullanılır?

RESTful web servislerinin ana faydalarından biri, büyük bir esneklik sunması ve bu RESTful API'yi daha etkin bir şekilde kullanmanıza olanak sağlamasıdır. Aşağıda, REST API'lerinin ne için kullanıldığına dair bazı REST API örnekleri verilmiştir.

Bulut tabanlı uygulamalar

Çağrılarının durumsuzluğu nedeniyle, REST API'leri bulut uygulamalarında avantajlıdır. Durum bilgisi olmayan modüller, bir şeyler ters giderse kapasite gereksinimini karşılamak için kolayca yeniden yüklenebilir ve büyüyebilir. Yerel ve internet tabanlı bileşenleri birleştiren bir yazılım programı, bir bulut uygulamasıdır. Bu paradigma, talimatları yürütmek için bir web tarayıcısı tarafından erişilen uzak sunucuları ve devam eden internet web hizmetlerini kullanır.

Bulut uygulaması ana bilgisayarlarının geleneksel konumu, üçüncü taraf bulut bilgi işlem ağ operatörü tarafından işletilen uzak bir bilgisayar sistemidir. Posta, belge paylaşımı ve depolama, sipariş girişi, envanter kontrolü, Microsoft Word, müşteri ilişkileri yönetimi ( CRM ), bilgi toplama ve finans ve muhasebe, bulut tabanlı uygulamalarla gerçekleştirilen işlere örnektir.

REST Uygulamaları programlama arabirimleri ( API'ler ), harici bilgi kaynaklarını ve depolama kaynaklarını bağlamak için kullanılabilir. Programcılar, hesaplamaları işlemek veya analiz etmek ve bulguları yazılım programına döndürmek için verileri diğer programlara aktarmak için REST API'lerini kullanarak bulut uygulamalarını küçültebilir. Test edilmiş API'ler, üretimi hızlandırabilen ve gerçek sonuçlar üretebilen aktif tekdüzeliği zorunlu kılar.

Bulut uygulamasına en iyi örnek Google Dokümanlar veya Office 365'tir. Google Dokümanlar veya Office 365 için ihtiyacınız olan tek şey arama motorlarını ve internet web hizmetlerini çalıştırabilen bir bilgisayardır. Bilgisayar ağları, bilgi depolama dahil olmak üzere kullanıcı arayüzü ve işlemleri sağlar. Bulut uygulaması ana bilgisayarları kullanılarak şirketiniz tarafından çok sayıda farklı bulut uygulaması barındırılabilir.

Bulut hizmetleri

Bir API aracılığıyla bir kaynağa bağlanmak için URL'nin nasıl işlendiğini yönetmeniz gerekeceğinden, REST API'leri bulut web hizmetleri için de kullanışlıdır. RESTful web hizmetleri mimarisi, bulut uygulamaları nedeniyle gelecekte büyük olasılıkla standart hale gelecektir. Programcılar, interneti kullanarak bulut hizmetlerine bağlanmak için RESTful web hizmetlerini kullanır. Bir geliştirici, internet sağlayıcısının API'sini kullanan kod oluşturur, gerekli girdileri ve değişkenleri verir ve ardından eylemin beklendiği gibi çalıştığından emin olmak için yanıtı kontrol eder.

what-is-cloud-conputing

Son kullanıcılar, RESTful web hizmetleri gibi bir bulut hizmetini kullanarak hesaplama altyapısı, depolama sistemleri veya izleme sistemleri gibi bulut web hizmetleri tarafından sunulan istemci uygulamalarına veya web hizmetlerine erişebilir. API'ler, bir uygulamanın yeteneklerini ve işlemlerini ve bunları gerçekleştirmek için gereken ayrıntıları özetler. İstemci gizliliğini ve güvenliğini korumak için API'ler genellikle REST veya Basit Nesne Erişim Protokolü (SOAP) birlikte çalışabilirliğine ve OAuth 2.0 gibi izin mekanizmalarına bağlıdır.

Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

Çeşitli web hizmetlerine "bulut hizmetleri" adı verilir ve talep üzerine işletmelere ve tüketicilere çevrimiçi olarak sunulur. Bu web hizmetleri, donanım veya altyapı gerektirmeden araçlara ve uygulamalara hızlı ve ucuz erişim sağlamak için oluşturulmuştur. Çoğu personel, e-postadan belge işbirliğine kadar her şey için bulut web hizmetlerini kullanır.

Web kullanımı

Bu web API'leri, bir kullanıcı web projesinden, bir iPhone uygulamasından , bir IoT cihazından veya bir Windows Mobile'dan alınabilir çünkü REST, istemci tarafı işlevselliğine bağlı değildir. Belirli bir istemci tarafı çerçevesiyle sınırlandırılmadan işletmeniz için mimari oluşturabilirsiniz.

Bir REST API örneği

Bir REST API örneğini tartışalım. Açık Bilgiler Veritabanından keyfi bir istihbarat sorgulaması istemek için aşağıdaki bağlantıya tıklayın: Bu tür RESTful web hizmetleri, genel bir web API'si sağlamak için kullanıldı. Bilgisayarınız tek bir sınav sorusu ve yanıtlarını JSON formatında görüntüleyecektir.

URL gibi herhangi bir HTTP tarayıcısını kullanarak, aşağıdaki sorguyu verebilir ve yanıt gövdesinde bir yanıt alabilirsiniz: https://opentdb.com/api.php?amount=1&category=18

Web hizmetinin XML dosyasının Yanıt Gövdesi, çalışanın tüm bilgilerini içerecektir.

Yaygın olarak kullanılan tüm programlama lehçeleri ve geliştirici araçları, JavaScript, Node.js ve Deno'da alma ve PHP'de file get content() gibi HTTP istemci kitaplıklarına sahiptir. Bir JSON yanıtı, HTML veya başka bir stilde görüntülenmeden önce makine tarafından okunabilir olduğundan okunabilir ve kullanılabilir.

Rest ve REST API'leri

Zamanla, birçok veri iletim yöntemi geliştirilmiştir. CORBA, SOAP veya XML-RPC gibi seçeneklerle karşılaşmış olabilirsiniz. En gelişmiş katı mesaj yönergeleri. Roy Fielding, diğerlerinden çok daha basit olan REST'i ilk olarak 2000 yılında özetledi.

Bir normdan ziyade RESTful web servisleri için bir öneri ve sınırlamalar topluluğudur. Bunlar aşağıdaki mimari kısıtlamalardan oluşur:

İstemci-Sunucu bölümü

İstemciler ve web sunucuları, REST mimarisi altında yalnızca bir yönde iletişim kurabilir: istemci, etki alanı denetleyicisini ister ve denetleyici veya sunucu isteğe yanıt verir. Web sunucuları istek gönderemez ve müşteriler tepki veremez; tüketici tüm bağlantıları başlatır.

RESTful web servisleri, aralarındaki etkileşimi kolaylaştırarak müşterileri ve sunucuları izole tutar. İstemci bilgisayarlar, başka bir barındırmayı etkileme korkusu olmadan gelişebilir ve sunucu malzemeleri, farkında olmadan müşterileri etkilemeden değiştirilebilir.

Tek tip arayüz

Bu stratejiye göre, tüm sorgular ve tepkiler, standart bir proweb prosedürüne bağlı kalmalı veya mesajlarını biçimlendirmelidir. Uygulamalar ve sunucular, bir arabulucu ile birbirleriyle zayıf performans gösteren çeşitli programlama dillerinde geliştirilmiştir. Tek tip bir arayüz, herhangi bir müşterinin herhangi bir REST API'si ile etkileşim kurmak için kullanabileceği bir lehçedir.

Normalleştirilmiş etkileşim ile uygulamalar arasında çeviri istekleri ve tepkiler ancak mümkün olacaktır. Küçük farklılıklar bilgileri karıştırır ve kaybeder ve web API'leri kendilerininkini değiştirdiğinde çözümlerin istek prosedürlerini yükseltmesi gerekir. Tutarlı bir arayüz bu olasılığı ortadan kaldırır.

https://www.googleapis.com/youtube/v3/channels?part=contentDetails'E ERİŞİM EDİN

Tüm REST İstemci uygulamaları gibi, bu teklif de iki parça veri içerir. HTTP tekniği GET'dir. Bu, müşterinin kaynaklar üzerinde yapmak istediği eylemi açıklar. Bir kullanıcı dört temel HTTP yöntemi yapabilir:

HTTP veya Köprü Metni Aktarım Protokolü, çoğu REST API'si için evrensel dildir. HTTP, REST düşünülerek tasarlanmamıştır. Ek olarak, REST bu veri iletimini REST uyumlu uygulamalar için kriter olarak kabul etti. HTTP'yi REST API'leri ile kullanmak için istemci, aşina olabileceğiniz bir biçimde bir istek gönderir. Örneğin, YouTube API'sine yönelik bir video sinyali talebi şuna benzer:

  • Bir kaynak elde etmek için GET komutunu kullanın.
  • Yeni bir kaynak oluşturmak için POST komutunu kullanın
  • Mevcut bir kaynakta değişiklik yapmak veya mevcut bir kaynağı güncellemeye devam etmek için PUT talimatını kullanın.
  • Bir kaynaktan kurtulmak için DELETE isteğini kullanın.

HTTP yöntemleri, belirli bir kaynakla ilgili olarak yapılması amaçlanan eylemi belirtir. HTTP yöntemleri, HTTB fiilleri olarak da bilinir.

URL HTTP'dir

Amaçlanan kaynağı tanımlayan tek tip kaynak tanımlayıcısı veya URI, URL'de bulunur. URL, RESTful API'nin hizmet kullanıcısıyla temas kurduğu yer olduğundan bu senaryoda bir uç noktadır.

Sorgu dizesi: URL, bir sorgu dizesi içerir. Sorgu dizesi, değerleri verilen parametreleri tanımlamak için kullanılır.

Savunmayı aldıktan ve doğruladıktan sonra, web sunucusu hedeflenen kaynakla ilgili verileri geri döndürür. Tipik olarak, veriler JSON (JavaScript Object Notation) olarak bilinen bir yapıda döndürülür. JSON, bir kaynağın tüm bileşenlerini İnsanların kolayca okuyabileceği taşınabilir bir biçimde sunar.

Tek tip arayüzün prensipleri

Tek tip arayüz aşağıdaki parametreleri izlemelidir:

  • HATEOAS: Uygulama durumunun motoru olarak Hypermedia

    Hypermedia, RESTful web servislerinin arkasındaki motordur. Bu, hiper ortamın, müşterinin, sağlayıcının yanıtını tanımak için anlamak istediği tek şey olduğunu gösterir.

  • İstemciye yalnızca istemci uygulamasının ilk URI'si sağlanmalıdır. İstemci uygulaması, köprüler kullanarak diğer tüm materyalleri ve etkinlikleri sürekli olarak yönlendirmelidir.
  • RESTful web hizmetleri, diğer API'lerden farklı olarak giriş sorgu dili (IDL) gerektirmez

Ortam türü, bir gösterimin veri biçiminin adıdır. Ortam türü, bir tasvirin nasıl ele alınması gerektiğini özetleyen bir tanımı tanımlar. REST kullanan bir web API'si hiper metin gibi görünür. Adreslenebilecek her veri öğesi, ya doğrudan (bağlantı ve kimlik özellikleri aracılığıyla) ya da dolaylı olarak (örn., ortam türü açıklama yapısından türetilmiş) bir konum taşır.

Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free
  • Kendinden tanımlayıcı mesajlar

    İstemci tarafı ile sunucu tarafı arasındaki her iletişim, iletişimi yürütmek için yeterli veri sağlamalıdır. Buna göre, istemci tarafından sunucu tarafına yapılan isteğin, erişmeye çalıştığı kaynağı belirli hedefleri ile birlikte belirtmesi gerekir.

    Ek olarak, kaynak tasvirleri kendi kendini açıklayıcı olmalıdır; kullanıcının bir kaynağın bir kişi mi yoksa bir ekipman parçası mı olduğunun farkında olması gerekmez. Bunun yerine, yardıma bağlı medya türünü izleyerek yanıt vermelidir.


    Bu nedenle, tartışmasız olarak, çoğu zaman kaynak başına bir medya türü olmak üzere birçok benzersiz medya türü geliştireceğiz. Her medya biçimi, standart bir üretim paradigmasını belirtir. Örneğin HTML, köprü metninin nasıl gösterileceğini ve tarayıcının her bir bileşeni nasıl işlediğini tanımlar.

  • Kaynakları belirleme

    Müşteri ve sunucu arasındaki arka iletişimlerde atıfta bulunulan kaynaklar, tasvirler kullanılarak tanınabilir olmalıdır. Bunun için Tekdüzen Kaynak Tanımlayıcı (URI) sistemine bağlı kalmaya izin verildi. Başka bir deyişle, sunucudan müşteriye iletişim, sunucunun deposundaki gerçek dosya yerine belgenin bir HTML sürümünü ve bazı bilgileri içerebilir.

    URI modelini takip ettiği için tüketici HTML sürümünü kolayca anlayabilir. Müşteri, sunucuya kaynağın nihai olarak nasıl görünmesi gerektiğine dair bir tasvir vererek kaynakları değiştirmelidir. Bu, kullanıcının kaynakları oluşturmasına, almasına, değiştirmesine ve kaldırmasına olanak tanır. Müşteri, verileri değiştirmek için gerekli yetkiye sahipse, sunucu sorguyu yerine getirmelidir.

Vatansız

RESTful API ile tüm istemci istekleri geçici olmalıdır. Sonuç olarak, her sorgu ve yanıt gövdesi, sözleşmeyi sonuçlandırmak için gereken tüm verileri içerir ve her bağlantıyı özerk hale getirir. Sunucu, önceki HTTP isteklerini takip etmez; istemci tarafından yapılan her birini tamamen yeni bir sorgu olarak ele alır.

Sunucunun geçmiş verileri elde etmek için herhangi bir ek görev gerçekleştirmesi gerekmediğinden, durum bilgisi olmayan aktarımlar sunucu için gerekli depolama miktarını önemli ölçüde en aza indirir ve bir yanıtın kabul edilebilir olma olasılığını artırır. Bu, bu etkileşimlerin ölçeklenebilirliğini garanti eder: programcıların, yazılımları genişlediğinde ve HTTP istekleri yaptığında çok daha fazla depolama alanı kullanma veya sunucuyu vergilendirme konusunda endişelenmeleri gerekmez.

katmanlı

Şimdiye kadar web API sorgularını basit bir istemci-sunucu değişimi olarak tanımladık, ancak bu biraz fazla basitleştiriyor. Bu iki kuruluş arasında genellikle daha fazla sunucu bulunur. Bu platformlar veya katmanlar, trafiği yönetmek ve dağıtmak, koruma eklemek ve diğer çeşitli önemli görevleri gerçekleştirmek için mevcuttur.

Bu konsepte göre, bir kullanıcı ile hedef sunucu arasında gönderilen mesajlar, aradaki katmanlardan bağımsız olarak benzer şekilde yapılandırılmalı ve işlenmelidir. Ekstra katmanlar, müşteri etkileşimleriyle iyi olmalıdır. Bu kurala uyan programcılar, temel istek-yanıt sürecini etkilemeden sunucu sistemlerini değiştirebilirler.

önbelleğe alınabilir

Önbelleğe alma, müşterinin makinesine içerik kaydedildiğinde bir müşteri bir web sitesine göz attığında gerçekleşir. Önbelleğe alınan materyal, bir kullanıcı siteyi daha sonra ziyaret ettiğinde sunucudan tekrar indirilmek yerine dahili bellekten hızlı bir şekilde yüklenir. Çoğu büyük site, sunucu alanını ve bant genişliğini korurken sayfa yükünü azaltmak için önbelleğe almayı kullanır.

REST API'leri geliştirilirken veri önbelleğe alma dikkate alınır. Bir sunucunun müşteriye verdiği yanıt, verilen kaynağın depolanıp depolanmayacağını ve ne kadar saklanabileceğini belirtmelidir.

Talep Kodunda

Son REST ilkesi gereksizdir. İstenirse, bir API'nin yanıtı, istemcilerin kullanması için yazılım kodunu içerebilir. Bu nedenle müşteri, istemci uygulamasını veya programını arka ucunda çalıştırabilir.

Bir API, bu yönergelere uygunsa RESTful API olarak kabul edilir. Ancak bu yönergeler, programcılara RESTful API'lerinin özelliklerini değiştirme özgürlüğü verir. REST API'leri, daha esnek (SOAP) olmaları nedeniyle bir başka popüler web API tekniği olan Basit Nesne Erişim Protokolünden farklıdır.

Uç Nokta Konsensüsü

Şu son noktaları göz önünde bulundurun:

  • /kullanıcı/123\s
  • /kullanıcı/kimlik/123\s
  • /user/123\s/user/id/123\s
  • /user/?id=123

Hepsi, istemci 123'ün veri alması için meşru yöntemlerdir. Daha karmaşık prosedürler olduğunda, olasılıkların sayısı artar. Örneğin, 51 numaralı girişten başlayarak ters sırada, soyadı "A" ile başlayan ve şirket adına faaliyet gösteren 10 kişiyi görüntüleyin.

Sonuç olarak, URL'leri nasıl yapılandırdığınız önemli değildir; RESTful API konularınız boyunca tekdüzelik. Birçok programcının bulunduğu devasa yazılım sistemlerinde bu kolay olamaz. RESTful API değişiklikleri kaçınılmazdır, ancak uç nokta URL'leri asla reddedilmemelidir, çünkü böyle yapmak onlara güvenen uygulamaların çalışmayı durdurmasına neden olur.

REST API Sürüm Oluşturma

API'leri sürümlendirme, uyumsuzlukları önlemek için yaygın bir uygulamadır. Bir örnek olarak, /2.0/user/123, /user/123'ün yerini alır. Eski ve yeni uç noktaların her ikisi de çalışmaya devam edebilir. Sonuç olarak, bu, geçmişteki önemli API'lerin korunması ihtiyacını zorlar. Önceki sürümler nihayetinde kullanımdan kaldırılabilir, ancak prosedürün dikkatlice düşünülmesi gerekir.

REST API Kimlik Doğrulaması

Herhangi bir cihaz, sorgulama API'sini kullanarak yetkilendirme olmadan bir bilgi notu indirebilir. Özel bilgileri okuyan veya sorguların düzenlenmesine ve kaldırılmasına izin veren API'ler bunu desteklemez. RESTful web hizmetleriyle aynı etki alanındaki istemci tarafı programlar, HTTP istekleriyle aynı şekilde çerezler gönderilir ve alır. (Lütfen ayrıcalıkları yeniden başlatma seçeneğinin Fetch() için önceki sitelerde belirtilmesi gerektiğini unutmayın.) Bir kullanıcının oturum açtığını ve gerekli izinlere sahip olduğunu doğrulamak için bir API sorgusu doğrulanabilir.

Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

HTTP temel kimlik doğrulama : Üçüncü taraf programları farklı onay çözümleri kullanmalıdır. Bazı popüler kimlik doğrulama yöntemleri, şunlar için birincil doğrulamadır:

  • HTTP. Base64 ile kodlanmış bir kullanıcı adı: parola dizesi, HTTP Onay başlığının bir parçası olarak sorgu alanında verilir.
  • API anahtarları: Özel izinlere sahip olabilen veya tek bir siteyle sınırlı olabilen bir RESTful API anahtarı sağlanarak, üçüncü taraf uygulamalara bir API sunulur. Her ileti, sorgu dizesinde veya HTTP başlığında anahtarı içerir. (Sorgu dizesi, URL'nin bir bileşenidir).
  • OAuth: Herhangi bir istekte bulunmadan önce, bir kimlik bilgisi almak için bir OAuth sunucusuna bir müşteri kimliği ve belki bir müşteri sırrı gönderilir. OAuth kimliği, sona erme tarihine kadar her API isteğiyle birlikte iletilir.
  • JSON'da İnternet Belirteçleri (JWT): Sorgu başlığı ve yanıt başlığı, dijital olarak imzalanmış kullanıcı kimlik bilgilerini güvenli bir şekilde iletir. JWT'ler, sunucunun erişim ayrıcalıklarını şifrelemesini sağlayarak, bir veritabanını sorgulama veya başka bir kimlik doğrulama mekanizması kullanma ihtiyacını ortadan kaldırır.

Kullanım senaryosu, bir API'nin kimliğinin nasıl doğrulanacağını etkiler:

  • Bazen, bir üçüncü taraf programı, aynı ayrıcalıklara ve haklara sahip diğer oturum açmış istemciler gibi işlenir. Örneğin, bir harita API'si, istekte bulunan bir programa iki nokta arasında talimatlar sağlayabilir. Programın meşru bir kullanıcı olduğunu doğrulamalıdır, ancak müşterinin kimlik bilgilerini doğrulaması gerekmez.
  • Diğer durumlarda, üçüncü taraf programı, posta içeriği gibi belirli bir kullanıcıdan kişisel bilgiler ister. REST API'leri istemciyi ve izinlerini tanımalı, ancak çağıran programla ilgilenmeleri gerekmez.

REST API Güvenliği

RESTful web hizmetleri, yazılımınızla etkileşim kurmanın ve yazılımınızı etkilemenin başka bir yolunu ekler. Ana makineniz yükseltilmiş bir bilgisayar korsanlığı hedefi olmasa bile, hatalı davranan bir kullanıcı saniyede yüzlerce istek gönderebilir ve bunu daraltabilir. Bu makale güvenliği kapsamaz, ancak standart en iyi prosedürler şunları içerir:

  • HTTPS'yi kullanın

  • Güçlü bir kimlik doğrulama mekanizması kullanın

  • CORS, müşteri aramalarını belirli alanlara kısıtlamak için kullanılabilir.

  • Yeteneklerin gerekliliklerini sağlayın - yani,

  • Gerekli olmayan DELETE seçenekleri oluşturun; tüm Uç Nokta URL'lerini ve gövde bilgilerini doğrulayın.

  • İstemci tarafı JavaScript'te API kuponlarına tabi olmayarak tanımlanamayan sektörlerden veya IP adreslerinden gelen bağlantıları engelleyin.

  • Anormal derecede büyük paketler engellenir.

  • Aynı IP adresinden veya API kimlik bilgisinden gelen isteklerin dakikada N sorgu ile sınırlandırıldığı oran kısıtlamasını düşünün.

  • Uygun HTTP durum koduyla yanıt, önbellek başlığı günlük sorguları ve başarısız araştırma

API Security

Çoklu istekler ve gereksiz veriler

RESTful web hizmetlerinin dağıtımının sınırlamaları vardır. Bir yanıtın talep ettiğinizden daha fazla bilgiye sahip olması veya tüm bilgileri almak için birden çok isteğin gerekli olması mümkündür. Kullanıcılara yaratıcı ve kitap bilgilerine erişim sağlayan RESTful web hizmetlerini düşünün; müşteri şunları yapabilir:

  • Satın alma sırasına göre listelenen ilk 10 kitap bilgisini isteyin (en çok satan önce). Her yazarın kimliğiyle birlikte bir kitap koleksiyonu cevaba dahil edilmiştir.
  • Her bir yazar için bilgileri almak için 10 adede kadar /author/id sorgusu oluşturun.

    Üst sorguya verilen her yanıt için "N+1 sorunu" olarak tanımlanan N API sorguları oluşturulmalıdır.

Bu sık kullanılan bir durumsa, RESTful web hizmetleri ürettiği her kitap için ad, cinsiyet, uyruk, biyografi vb. dahil olmak üzere tüm yazar bilgilerini içerecek şekilde değiştirilebilir. Hatta daha önceki kitapları hakkında daha fazla bilgi sağlanabilir.yani yanıt yükünü önemli ölçüde artıracaktır. API, yazar bilgilerini isteğe bağlı hale getirmek için değiştirilebilir. Yazar ayrıntıları=gereksiz yere büyük yanıtları önlemek için dolu. API tasarımcılarının desteklemesi gereken çok sayıda seçenek bunaltıcı olabilir.

toparlamak

Artık REST API'lerini, REST API'lerinin nasıl çalıştığını, REST API örneklerini, REST API'lerinin ne için kullanıldığını, mimari kısıtlamaları ve bu eğitimde ele alınan diğer konuları tamamen anlıyorsunuz. Programcılar API'leri öğrenmeyi zor ve göz korkutucu bulabilirler, ancak kodsuz platform AppMaster , daha fazla profesyonel gelişiminizi desteklemek için çeşitli REST API'leri hakkındaki farkındalığınızı derinleştirebileceğiniz yeni bir erişilebilir REST API'leri kitaplığı oluşturdu.

AppMaster'da API erişilebilirliğini ve kullanılabilirliğini artırmaya çalışıyoruz. API yazılımını kariyerinizde ve kişisel yaşamınızda kullanmanın faydalarını öğrenmenizi, denemenizi ve faydalarını anlamanızı istiyoruz. Daha iyi web API'lerini daha hızlı tasarlamanıza yardımcı olmak için AppMaster, işbirliğini geliştirir ve API yaşam döngüsünün her aşamasını otomatikleştirir. REST API'leri oluşturmaya, ilerletmeye ve anlayışınızı genişletmeye devam edin.

İlgili Mesajlar

Mobil Uygulamadan Para Kazanma Stratejilerinin Kilidini Açmanın Anahtarı
Mobil Uygulamadan Para Kazanma Stratejilerinin Kilidini Açmanın Anahtarı
Reklamcılık, uygulama içi satın almalar ve abonelikler gibi kanıtlanmış para kazanma stratejileriyle mobil uygulamanızın gelir potansiyelinin tamamını nasıl açığa çıkaracağınızı keşfedin.
Yapay Zeka Uygulama Oluşturucu Seçerken Dikkat Edilmesi Gereken Temel Hususlar
Yapay Zeka Uygulama Oluşturucu Seçerken Dikkat Edilmesi Gereken Temel Hususlar
Bir yapay zeka uygulaması yaratıcısı seçerken entegrasyon yetenekleri, kullanım kolaylığı ve ölçeklenebilirlik gibi faktörlerin dikkate alınması önemlidir. Bu makale, bilinçli bir seçim yapmanız için dikkate alınması gereken önemli noktalar konusunda size yol gösterir.
PWA'larda Etkili Anlık Bildirimler İçin İpuçları
PWA'larda Etkili Anlık Bildirimler İçin İpuçları
Kullanıcı etkileşimini artıran ve mesajlarınızın kalabalık bir dijital alanda öne çıkmasını sağlayan Aşamalı Web Uygulamaları (PWA'lar) için etkili anında bildirimler oluşturma sanatını keşfedin.
ÜCRETSİZ BAŞLAYIN
Bunu kendin denemek için ilham aldın mı?

AppMaster'ın gücünü anlamanın en iyi yolu, onu kendiniz görmektir. Ücretsiz abonelik ile dakikalar içinde kendi başvurunuzu yapın

Fikirlerinizi Hayata Geçirin