15 Rest API Röportaj Sorusu & Yanıtlar

Anonim

PDF İndir

1) DİNLENME ve DİNLENME nedir?

REST, Temsili Durum Transferini temsil eder; web API yazmanın nispeten yeni bir yönüdür.

RESTFUL, REST mimari konsepti uygulanarak yazılan web servisleri için RESTful servisleri olarak adlandırılır, sistem kaynaklarına ve farklı dilde yazılmış farklı istemcilere HTTP protokolü üzerinden kaynak durumunun nasıl taşınması gerektiğine odaklanır. RESTFUL web servisinde, CRUD işlemlerini gerçekleştirmek için GET, POST, PUT ve DELETE gibi HTTP yöntemleri kullanılabilir.

2) Web API oluşturmak için mimari stili açıklar mısınız?

Web api oluşturmanın mimari tarzı

  • İstemci sunucu iletişimi için HTTP
  • Biçimlendirme dili olarak XML / JSON
  • Hizmetler için adres olarak basit URI
  • Vatansız iletişim

3) Web API'nizi test etmek için hangi araçların gerekli olduğundan bahsediyor musunuz?

SOAP WS için SOAPUI aracı ve RESTFUL hizmetleri için Firefox "poster" eklentisi.

4) REST tarafından desteklenen HTTP yöntemlerinden bahsedin?

REST tarafından desteklenen HTTP yöntemleri şunlardır:

  • GET: İstek URL'sinde bir kaynak talep eder. Atılacağı için bir istek gövdesi içermemelidir. Belki yerel olarak veya sunucuda önbelleğe alınabilir.
  • POST: Bilgileri işlenmek üzere servise gönderir; tipik olarak değiştirilmiş veya yeni kaynağı döndürmelidir
  • PUT: İstek URL'sinde kaynağı günceller
  • SİL: İstek URL'sinde kaynağı kaldırır
  • SEÇENEKLER: Hangi tekniklerin desteklendiğini gösterir
  • HEAD: İstek URL'si hakkında meta bilgi döndürür

5) Bir kaynak oluşturmak için PUT yerine GET isteğini kullanıp kullanamayacağınızdan bahseder misiniz?

Hayır, GET için PUT kullanmamanız gerekiyor. Verileri güncellemek için PUT kaynağı kullanılırken, GET işlemleri yalnızca görüntüleme haklarına sahip olmalıdır.

6) Bir REST mimarisindeki kaynaklardan bahsedin?

Kaynaklar, mantıksal URL'lerle tanımlanır; RESTful tasarımın temel unsurudur. REST'teki SOAP web servislerinin aksine, ürün verilerini bir kaynak olarak görürsünüz ve bu kaynak gerekli tüm bilgileri içermelidir.

7) AJAX ve REST arasındaki fark nedir?

AJAX

DİNLENME

  • Ajax'ta istek, XMLHttpRequest nesneleri kullanılarak sunucuya gönderilir. Yanıt, geçerli sayfayı dinamik olarak değiştirmek için JavaScript kodu tarafından kullanılır
  • Ajax bir dizi teknolojidir; Sayfayı yeniden yüklemek zorunda kalmadan kullanıcı arayüzünün bölümlerini dinamik olarak güncelleme tekniğidir
  • Ajax, müşteri ile sunucu arasındaki etkileşimi eşzamansız olarak ortadan kaldırır
  • REST, bir URL yapısına ve kaynakların kullanımı etrafında dönen bir istek / yanıt modeline sahiptir.
  • REST, bir tür yazılım mimarisi ve kullanıcıların sunuculardan veri veya bilgi talep etmeleri için bir yöntemdir
  • REST, müşteri ve sunucu arasındaki etkileşimi gerektirir

7) REST'in bazı temel özelliklerinden bahsediyor musunuz?

REST'in bazı temel özellikleri şunları içerir:

  • REST durumsuzdur, bu nedenle SUNUCU'nun durumu (veya oturum verileri) yoktur
  • İyi uygulanan bir REST API ile, her veri sunucuya aktarılırken sunucu iki çağrı arasında yeniden başlatılabilir.
  • Web hizmeti, işlem yapmak için çoğunlukla POST yöntemini kullanır, REST ise kaynaklara erişmek için GET'i kullanır.

8) Farklı uygulama entegrasyon stilleri nelerdir?

Farklı entegrasyon stilleri şunları içerir:

  • Paylaşılan veritabanı
  • Toplu dosya aktarımı
  • Uzak yordamı (RPC) çağırma
  • Eşzamansız mesajların mesaj odaklı bir orta katman (MOM) üzerinden değiştirilmesi

9) JAXB'nin RESTful web API ile ilişkisini açıklayın.

JAXB, XML bağlama için java arch anlamına gelir.

10) PUT ve POST arasındaki farkın ne olduğundan bahsedin?

"PUT", belirli bir URI'ye ve tam olarak bu URI'ye bir dosya veya kaynak koyar. Bu URI'de zaten bir dosya veya kaynak varsa, PUT bu dosyayı veya kaynağı değiştirir. Orada kaynak veya dosya yoksa, PUT bir

POST, verileri belirli bir URI'ye gönderir ve bu URI'deki kaynağın istekle ilgilenmesini bekler. Bu noktada web sunucusu, belirtilen kaynak bağlamında verilerle ne yapılacağına karar verebilir.

PUT idempotent bir anlamdır, onu herhangi bir sayıda çağırmanın kaynaklar üzerinde bir etkisi olmayacaktır.

Bununla birlikte, POST idempotent değildir, yani POST'u birden çok kez çağırırsanız, daha fazla kaynak oluşturmaya devam eder.

11) Restful web api'de hangi biçimlendirme dilinin kullanılabileceğinden bahsedin?

JSON ve XML, dinlendirici web api'de kullanılabilen iki biçimlendirme dilidir

12) RPC veya belge tarzı web hizmetleri arasındaki fark nedir? Hangisini seçeceğinize nasıl karar veriyorsunuz?

Belge tarzı web hizmetlerinde, RPC tarzı web hizmetinde mümkün olmayan bir XML mesajını SOAP isteğinin bir parçası olarak taşıyabiliriz. Belge stili web hizmeti, XML mesajının belge olarak davrandığı ve bu belgenin içeriğinin değişebileceği ve web hizmetinin amacının XML mesajının içeriğine bağlı olmadığı bazı uygulamalarda en uygun olanıdır.

13) JAX-WS ve JAX-RS nedir?

Hem JAX-WS hem de JAX-RS, Java'da çeşitli yollarla iletişim yapmak için kütüphanelerdir (API'ler). JAX-WS, JAVA'da SOAP iletişimi yapmak için kullanılabilen bir kitaplıktır ve JAX-RS, JAVA'da REST iletişimini yapmanızı sağlar.

14) Web API'sini geliştirmek veya test etmek için kullanılan araçları veya API'yi listeleyin.

REST API'leri için web hizmetleri için test araçları şunları içerir:

  • MVC kullanarak Spring REST web hizmeti
  • Jersey API
  • CXF
  • Eksen
  • Restlet,

15) SABUN ve DİNLENME arasındaki fark nedir?

SABUN

DİNLENME

  • SOAP, iki bilgisayarın XML belgesini paylaşarak iletişim kurduğu bir protokoldür
  • SOAP yalnızca XML'e izin verir
  • SOAP tabanlı okumalar önbelleğe alınamaz
  • SOAP, sunucuyla yakından bağlantılı özel bir masaüstü uygulaması gibidir
  • SABUN REST'ten daha yavaştır
  • HTTP üzerinde çalışır ancak mesajı sarar
  • Rest, ağ tabanlı yazılım mimarileri için bir hizmet mimarisi ve tasarımıdır
  • REST birçok farklı veri formatını destekler
  • REST okumaları önbelleğe alınabilir
  • REST istemcisi daha çok bir tarayıcı gibidir; yöntemlerin nasıl standartlaştırılacağını bilir ve bir uygulamanın içine sığması gerekir
  • REST, SOAP'tan daha hızlıdır
  • Meta bilgilerini tutmak için HTTP üstbilgilerini kullanır