rest api tutorial rest api architecture
Bu Eğitimde, REST API, Web Hizmetleri, REST API Mimarisi, REST API Kısıtlamaları ve POSTMAN Kullanarak Bir API'nin Nasıl Test Edileceğini Öğreneceğiz:
Ön Koşullar: Web Hizmetleri hakkında temel bilgi.
Kontrol İşte Web Hizmetlerini net bir şekilde anlamak için.
Ne öğreneceksin:
REST API nedir?
API, yazılım bileşenleri tarafından birbirleriyle iletişim kurmak için kullanılan basit bir arayüzdür. Bir hizmet, iyi tanımlanmış, kendi kendine yeten ve başka herhangi bir hizmete bağlı olmayan bir işlevdir.
Web Hizmeti, neredeyse tamamı HTTP üzerinden çalışan bir API türüdür. REST Architecture kullanılarak bir Web API geliştirildiğinde buna REST Web API denir.
Şu an itibariyle, iki tür Web Hizmeti vardır,
- SABUN
- DİNLENME
SABUN ve DİNLENME Arasındaki Fark
| SABUN | DİNLENME |
|---|---|
| Verileri istek gövdesine göndermek için sadece XML formatını kullanabiliriz | İsteği göndermek için XML, JSON vb. Formatlara sahip olabiliriz. |
| Bu bir protokoldür | Bir mimari tarzdır ve herhangi bir protokolden bağımsızdır, REST, SOAP Web Servislerini kullanabilir. |
| Basit Nesne Erişim Protokolü anlamına gelir | Temsili Devlet Transferi anlamına gelir |
| İş mantığını ortaya çıkarmak için servis arayüzlerini kullanır. | İş mantığını ortaya çıkarmak için URI kullanır. |
| SABUN'un uyulması gereken katı bir standardı vardır. | REST tarafından takip edilecek böyle katı bir standart yoktur. Bununla birlikte, kullanıcı REST kullanarak web servisini geliştirirken birkaç standardı takip edebilir. |
| Daha fazla bant genişliği gerektirir. | Hafiftir. |
| Kendi güvenliğini tanımlayabilir. | REST, güvenlik önlemlerini aktarımdan devralır. |
| En iyi örnek Google, AMAZON | En iyi örnek YAHOO, LINKEDIN, AMAZON |
| SOAP, HTTP, SMTP vb. Protokolleri kullanır. | REST yalnızca HTTP'ye dayanır. |
| Bağlayıcı mesaj, işlemler vb. İçin kurallar WSDL'de yazılmıştır. | REST, web hizmetleri tarafından sunulan işlevselliği açıklamak için WADL biçimini takip eder |
| Standartlaştırılmıştır. | REST hizmetleri standart değildir. |
| Mevcut kuralları, bağlayıcılığı vb. Nedeniyle daha fazla öğrenme süresi gerektirir. | Basitliği nedeniyle öğrenmek için daha az zaman gerektirir. |
Neden SABUN yerine REST'i Seçmelisiniz?
Aşağıdaki noktalar, SABUN yerine REST'i tercih etme nedenlerini açıklamaktadır.
- Web API'leri geliştirmek ve test etmek için çok iyidir.
- REST daha az bant genişliği gerektirir.
- REST tabanlı Web API'leri için AJAX kullanabiliriz.
- Daha az ayrıştırma ek yükü gerektirir.
- JSON tarafından oluşturulan Yük boyutu daha küçük boyuttadır.
Web üzerinde RESTful Web servislerini kullanmamızı sağlayan birçok istemci / araç bulunmaktadır.
Onlar:
- Postacı
- Gelişmiş Dinlenme İstemcisi
- DHC Rest istemcisi
- Talep eden
- Uykusuzluk hastalığı
- İddia edilebilir
- Afiş
Neden Postacı?
- Mevcut tüm seçenekleri görüntüler.
- Postacının ek bir özelliği vardır (Runner olarak bilinir).
- Kullanıcı dostu kullanıcı arayüzü ve kullanımı kolay.
- Daha büyük topluluk grubu / üyeleri.
REST API Mimarisi
Temelde bir yazılım mimarisi tarzında Web mimarisidir. Dağıtılmış hiper ortam sistemleri içindir. RESTful API, RFC 2616 protokolü tarafından tanımlanan HTTP metodolojilerinden doğrudan yararlanır.
Birkaç tanım
ATEŞ Uygulama Programlama Arayüzü anlamına gelir. Uygulama yazılımını oluşturmak için bir dizi alt yordam tanımları, protokolleri ve araçlarıdır.
Ağ hizmetleri veri / dahili yöntemler içeren bazı program kodlarıdır. Bunlar, kuruluş tarafından kullanıcılar, üçüncü şahıs uygulamaları, vb. İle iletişim kurmak için İnternet üzerinden dağıtılır. Mesajların iletilmesi için, çoğunlukla XML bir mesajlaşma sistemi olarak kullanılır. XML, kullanıcılar ve uygulamalar arasındaki tüm iletişimi kodlar.
HTTP World Wide Web tarafından kullanılan Hypertext Transfer Protocol anlamına gelir. Mesajların nasıl biçimlendirildiğini ve iletildiğini ve Web sunucularının ve tarayıcıların çeşitli komutlara yanıt olarak hangi eylemleri gerçekleştirdiğini tanımlar.
Mimari tarz, bunlar bir yapı oluşturmak ve hatta onu benzersiz kılmak için kullanılan özelliklerle karakterize edilir. Stiller iki türdendir: Katmanlı ve Tekdüzen arayüz.
NEFRET : Birörnek Kaynak Tanımlayıcı olarak da bilinir. Bir kaynağı (metin belgesi, görüntü dosyası, vb.) Tanımlar.
URL: Aynı zamanda Tekdüzen Kaynak Konum Belirleyicisi olarak da bilinir. Bir ağ konumu içeren URI'lerin bir alt kümesidir.
URN : Tekdüzen Kaynak Adı olarak da bilinir, belirli bir alan içinde bir adı içeren ancak konum içermeyen bir URI alt kümesidir.
Örneğin,
http://elearning.com/amazon/restapi.html#books
Burada, yukarıdaki örnekte
NEFRET : http://elearning.com/amazon/restapi.html#posts
URL : http://elearning.com/amazon/restapi.html
URN : elearning.com/amazon/restapi.html#posts
ücretsiz youtube mp3 dönüştürücü premium
Dolayısıyla, bir URL, bir kaynağı tanımlayan ve aynı zamanda ona erişim yolunu açıklayarak kaynağın yerini belirleme araçları sağlayan bir URI'dir.
Yani her URL bir URI olabilir, ancak bunun tersi doğru değildir.
RESTful bir hizmet, Tekdüzen Kaynak Konum Belirleyicisi (URL) aracılığıyla gösterilir. Bu, kaynağın kimliğini kabul edilen veya döndürülenlerden ayıran mantıksal bir addır.
Örnek bir REST Mimarisi:

REST API Kısıtlamaları
Aşağıdaki kısıtlamaları yerine getiren bir API arayüzünün RESTful olduğu söylenir:
- Düzgün Arayüz: Bu, kullandığımız herhangi bir müşteriden bağımsız olarak, REST hizmetlerini uygulama ve kullanmanın temel konseptinin aynı kalacağı anlamına gelir. Geliştirilen tüm REST API'lerinin geliştirmeye yönelik ortak bir yaklaşımı olmalıdır.
- Vatansız: Bu, saklanacak oturum olmadığı anlamına gelir. Dolayısıyla, sunucu bir istemci tarafından gönderilen herhangi bir HTTP İsteğini depolamayacaktır. Dolayısıyla bir sunucu için her HTTP isteği yeni bir istektir. Ne olursa olsun, talebin kaç kez yapıldığı veya müşterinin benzersiz olup olmadığı.
- Önbelleğe alınabilir: Önbelleğe alma, verilere ve yanıtlara sunucu yerine önbellekten ne sıklıkta erişildiği anlamına gelir. Önbelleğe alma kavramı, müşteri talebini gönderirken uygulanabilir. Böylece müşteri tarafında performans iyileştirmesi yapılır.
- Müşteri sunucusu: Sunucu ve İstemciler uygulama açısından birbirinden bağımsızdır. Bir istemcinin yalnızca istek URI'sini kimlik doğrulama ile birlikte veya kimlik doğrulaması olmadan göndermesi gerekir. Ardından sunucu adımın geri kalanını alır, bu bir yanıttır.
- Katmanlı Sistem: İstemci, kaynak URI olarak sunucuya yalnızca isteği gönderebilir. Ancak daha sonra, istek sunucuya gönderilmeden önce, bize katmanlı sistem mimarisini sağlayan REST API vardır. Bu, API'yi bir sunucuda konuşlandırabileceğimiz, verilerin başka bir sunucuda konuşlandırıldığı ve başka bir sunucuda kimlik doğrulamasının yapıldığı anlamına gelir.
- Talep Üzerine Kod (isteğe bağlı): Bazen bir müşteri, yanıttan daha fazlasına ihtiyaç duyabilir. REST API, yanıt olarak yürütülebilir bir kod göndermemize olanak tanır (bu yürütülebilir kod bir pencere öğesi veya herhangi bir denetim olabilir). Ancak, bu özelliği etkinleştirip etkinleştirmememiz tamamen isteğe bağlıdır.
Rest API ile ilgili birkaç terminoloji daha:
Uç nokta : Web isteklerini kabul eden bir URL'ye referanstır. Bir web hizmeti, uç nokta referansı kullanılarak adreslenebilir.
Örneğin, Http: // {Domain_URL} //librarygr/libraries.xml
Kaynaklar : Endpoint'in bir alt kümesidir. Normalde Uç Noktalar, web servisleri aracılığıyla kullanılabilen bazı nesneleri ortaya çıkarır. Kaynaklar, özellikle bir nesnenin Uç Nokta URI'si üzerindeki kısmıdır.
Örneğin, Http: // {Domain_URL} // api / pg_library / ornitoloji / kuğu
Yük : Yük, POST veya PUT işlemi gerçekleştirilirken gönderilen bilgidir. Bunlar, HTTP isteğinin gövdesinde belirtilen bilgilerdir.
Yükler JSON formatında gönderilir, Örneğin,
{ Id: 1, name:'sam', phones:({title:'mobile',number:9898989899}, {title:'home',number:8888888888}) }Parametreler :
Parametreleri iki şekilde geçirebiliriz.
Sorgu Parametreleri : URL'nin sorgu dizesindeki anahtar / değer çiftlerine erişmek için kullanışlıdır (? İşaretinden sonraki kısım)
En İyi Örnek
http://jsonplaceholder.typicode.com/posts/?id=3

Yol Parametreleri: URL'nin bir bölümünü parametre olarak eşleştirmek faydalıdır. Bilgileri bir yol parametresi olarak şu şekilde gönderebiliriz: Form-data, x-www-form-urlencoded, raw, binary.
En İyi Örnek:
https://api.github.com/gists/49b05378bb8920d5b4ec54efc27103e2/comments

POSTMAN nedir?
POSTMAN bir REST İstemcisidir, sadece Chrome tarayıcısıyla birlikte gelen bir uygulamadır. API çağrısı testini kolaylaştırmak için geliştiricileri akılda tutarak geliştirilmektedir. API isteklerini göndermek ve API yanıtlarını okumak için kendi GUI'sine sahiptir.
REST API testini hem manuel hem de otomasyon yoluyla gerçekleştirebiliriz.
Aşağıdaki bölümde, POSTMAN istemcisini kullanarak Web API'nin manuel olarak nasıl test edileceğini öğreneceğiz.
Postman ile API Nasıl Test Edilir?
Kurulum
Erişmemiz gerekiyor Chrome Web mağazası . Chrome tarayıcısında Postman'ı arayın. Tıklayın İşte Chrome düğmesine eklemek için.
Başarıyla kurulduktan sonra, POSTMAN'i Chrome Uygulaması altında bulabiliriz. POSTMAN'ı açmak için Postacı simgesine tıklamanız yeterli. İlk kez başlaması zaman alacak.
Nasıl kullanılacağını anlamak için lütfen aşağıdaki URL'ye bakın POSTAN bir araç olarak.
Ön koşullar: Web üzerinden dağıtılan hizmetlere erişmek için İnternet bağlantısı gerekir. Yerel olarak konuşlandırılan hizmetlere erişilmesi durumunda, POSTMAN üzerinden testi gerçekleştiren kullanıcıya yeterli hakların, ayrıcalıkların verildiğinden emin olun.
Sahte Kaynak URI'si: Bu eğitimde, gerçek bir URI yerine sahte bir URI kullanacağız. Bize istenen yanıtları verecektir ancak sunucuda değişiklik yapılamaz.
http://jsonplaceholder.typicode.com
Gezinme Adımları :
# 1) POSTMAN Uygulaması başlatıldığında, varsayılan olarak İstek sayfasını görebiliriz.

#iki) Açılır menüye tıklayarak API çağrılarının listesini görebiliriz. Açılır menüdeki seçeneklerden herhangi birini seçerek, sunucuya API çağrısı talep edebiliriz.

python mac için en iyi metin editörü
# 3) Bir POSTMAN'in sağ üst köşesindeki Ortam değişkeni düğmesine tıklayın. Test edeceğimiz belirli Ortamı ayarlayın. Gelecekteki infaz için saklayabiliriz.

# 4) Kaydedilen ortama, Ortam açılır menüsünden erişilebilir.

# 5) Ardından, verilen kutuda Kaynak URI'yi ayarlamamız gerekiyor.

# 6) Sorgu parametrelerini belirtmek için Kaynak URI alanının yanındaki Parametreler düğmesine tıklayın.

# 7) Yetkilendirme sekmesine tıklayın, açılır menüden Yetkilendirme türünü seçin ve istediğiniz Yetkilendirmeyi ayarlayın veya Yetki Yok olarak bırakabilirsiniz.

# 8) Başlıklar sekmesine tıklayın ve içerik türü gibi gerekli başlıkları ayarlayın

# 9) Gövde sekmesine tıklayın, form verisi radyo düğmesini seçin. İstek URL'si ile birlikte gönderilmesi gereken gerekli gövde parametrelerini belirtin

# 10) Gövde sekmesine tıklayın, x-www-form-urlencoded radyo düğmesini seçin. İstek URL'si ile birlikte kodlanmış olarak gönderilmesi gereken gerekli gövde parametrelerini belirtin

#eleven) Gövde sekmesini tıklayın, 'ham' radyo düğmesini seçin. İstek URL'si ile birlikte gönderilmesi gereken gerekli gövde parametrelerini belirtin. Bu gerçek JSON biçimindedir

# 12) Gövde sekmesine tıklayın, 'ikili' radyo düğmesini seçin. İstek URL'si ile birlikte gönderilmesi gereken gerekli gövde parametrelerini (normalde bir dosya olarak) belirtin.

# 13) Tüm ayrıntıları yukarıda belirtildiği gibi yapılandırdıktan sonra, artık isteği 'Gönderebilir'. Ayrıca, gönderme isteğini request.json olarak kaydedebiliriz (isteğin adını değiştirebiliriz).

# 14) Geçmiş sekmesinin altında sol taraftaki panelde yapılan Taleplerin listesini görebiliriz.

# onbeş) Ayrıca, Talep ile ilgili tüm detayları (URI, Yetkilendirme, Parametreler, gövde vb.) Mevcut bir Koleksiyon veya yeni bir Koleksiyon altına kaydedebiliriz. İstek Koleksiyona eklendiğinde, onu dışa aktarabiliriz (paylaşabiliriz) ve hatta mevcut Koleksiyonu içe aktarabiliriz.

Koleksiyonu bir bağlantı olarak veya oluşturulan basit bir kodla bir ekip kitaplığı olarak paylaşabiliriz. Her zaman tüm Koleksiyon paketini çalıştırabiliriz.
Hatta koleksiyon URL'sini web'de yayınlayabiliriz, böylece yayınlanan URL'ye erişen herkes koleksiyona erişebilir ve Web API tarafından sağlanan hizmetleri kullanabilir.
POSTMAN'da oturum açma özelliği vardır; bu, geçmişi, koleksiyonları, çevresel verileri, yerel depolamayı saklamamızı ve böylece POSTMAN'da oturum açtıktan sonra her zaman, her yerde bunları kaydedebilmemizi ve bunlara erişebilmemizi sağlar.

Koşucu
Koleksiyonlar klasöründe bulunan kaynakları çalıştırmak için kullanılır.

en iyi disk klonlama yazılımı Windows 10

Sonuç
Çoğu şirket, projenin mevcut / yeni üyeleri için daha az eğitim gerektiren basit ve kullanıcı dostu bir arayüz olduğundan, web hizmetlerinin geliştirilmesi / uygulanması için REST mimari tarzını benimsiyor. Kuruluşlar, mevcut web hizmetleriyle birlikte REST'i düşünüyor.
Ayrıca okuyun = >> Flask API Eğitimi
Bir sonraki eğiticide bu REST API serisinde, farklı yanıt kodu türlerini, REST istek türlerini vb. Tartışacağız.
Önerilen Kaynaklar
- Rest API Yanıt Kodları ve Dinlenme Talep Türleri
- POSTMAN Eğitimi: POSTMAN Kullanarak API Testi
- BDD Yaklaşımı Kullanılarak Salatalık ile REST API Testi
- 2021'deki En İyi 10 API Test Aracı (SOAP ve REST API Test Araçları)
- Spring RestTemplate ve TestNG ile REST API Testi
- Huzurlu ve Jenkins Kullanarak API İsteklerini Otomatikleştirme
- SoapUI Pro'da REST Projesi Nasıl Oluşturulur: Eğitim # 13
- Parasoft SOAtest Eğitimi: Komut Dosyasız API Test Aracı