En İyi 50 Asp.Net Web API Mülakat Soruları ve Cevapları

Anonim

PDF İndir

1) Web API nedir?

WebAPI, HTTP hizmetleri oluşturmanıza / geliştirmenize yardımcı olan bir çerçevedir.

2) Web API neden gereklidir? RESTful hizmetlerini WCF kullanarak kullanmak mümkün mü?

Evet, yine de WCF ile RESTful hizmetleri geliştirebiliriz. Ancak, kullanıcılardan RESTful hizmetleri yerine Web API'yi kullanmalarını isteyen iki ana neden vardır.

  • Web API, RESTful hizmetlerinin geliştirilmesinde TDD (Test Data Driven) yaklaşımını artırır.
  • WCF'de RESTful hizmetleri geliştirmek istiyorsak, web API kullanarak RESTful hizmetleri geliştirmek için kesinlikle çok sayıda yapılandırma ayarına, URI şablonuna, sözleşmeye ve uç noktaya ihtiyacınız vardır.

3) Neden Web API'yi seçmelisiniz?

  • Basit, SOAP tabanlı olmayan HTTP Hizmetleri oluşturmak için kullanılır.
  • Ayrıca Web API ile oluşturmak için kolay bir yöntemdir. WCF REST Hizmetleri ile
  • HTTP tabanlıdır ve REST-dolu bir şekilde tanımlanması, açığa çıkarılması ve kullanılması kolaydır.
  • Hafif bir mimaridir ve akıllı telefonlar gibi sınırlı bant genişliğine sahip cihazlar için idealdir.

4) ASP.NET Web API'nin WCF'nin yerini alması doğru mu?

ASP.NET Web API'sinin WCF'nin yerini aldığı hiç de doğru değil. Aslında, SOAP tabanlı olmayan hizmetler, yani düz XML veya JSON dizesi oluşturmanın başka bir yoludur.

5) Web API'nin avantajları nelerdir?

Web API'nin avantajları şunlardır:

  • OData
  • Filtreler
  • İçerik Pazarlığı
  • Kendi Kendine Barındırma
  • Yönlendirme
  • Model Bağlamaları

6) Web API'de desteklenen ana iade türleri nelerdir?

Bir Web API denetleyici eylemi aşağıdaki değerleri döndürebilir:

  • Void - Boş içerik döndürür
  • HttpResponseMessage - Yanıtı bir HTTP mesajına dönüştürecektir.
  • IHttpActionResult - dahili olarak bir HttpResponseMessage oluşturmak için ExecuteAsync'i çağırır
  • Diğer türler - Serileştirilmiş dönüş değerini yanıt gövdesine yazabilirsiniz

7) Web API hangi protokolü destekler?

Web Uygulaması, HTTP protokolünü destekler.

8) Hangi .NET çerçevesi Web API'yi destekler?

NET 4.0 ve üzeri sürümler web API'sini destekler.

9) Web API, JSON serileştirme için aşağıdaki açık kaynak kitaplıklarından hangisini kullanır?

Web API, JSON serileştirme için Json.NET kitaplığını kullanır.

10) Varsayılan olarak, Web API, yakalanmamış tüm istisnalar için aşağıdaki durum kodlarından hangisiyle HTTP yanıtı gönderir?

500 - Dahili Sunucu Hatası

11) Web API'deki "Diğer İade Türlerinin" en büyük dezavantajı nedir?

Bu yaklaşımın en büyük dezavantajı, 404 hatası gibi bir hata kodunu doğrudan döndürememenizdir.

12) HtmlResponseMessage'ı nasıl oluşturursunuz?

Bunu yapmanın yolu aşağıdadır:

public class TestController : ApiController{public HttpResponseMessage Get(){HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, "value");response.Content = new StringContent("Testing", Encoding.Unicode);response.Headers.CacheControl = new CacheControlHeaderValue(){MaxAge = TimeSpan.FromMinutes(20)};return response;}}

13) Web API Yönlendirme nedir?

Yönlendirme, MVC'deki gibi desen eşleştirmesidir.

Tüm rotalar, Rota Tablolarına kaydedilir.

Örneğin:

Routes.MapHttpRoute(Name: "ExampleWebAPIRoute",routeTemplate: “api/{controller}/{id}defaults: new { id = RouteParameter.Optional}

14) SABUN nedir?

SOAP, web hizmeti etkileşimlerinde kullanılan bir XML mesaj formatıdır. HTTP veya JMS üzerinden mesaj gönderilmesine izin verir, ancak diğer aktarım protokolleri kullanılabilir. Ayrıca bilgisayarlar arasında bilgi alışverişi için XML tabanlı bir mesajlaşma protokolüdür.

15) Web API'de REST kullanmanın faydası nedir?

REST, istemci ve sunucu arasında daha az veri aktarımı yapmak için kullanılır, bu da onu mobil uygulamalarda kullanmak için ideal hale getirir. Web API ayrıca HTTP protokolünü de destekler. Bu nedenle, iletişim için HTTP fiillerinin geleneksel yöntemini yeniden tanıtır.

16) Web API'yi ASP.NET Web Form ile nasıl kullanabiliriz?

Web API, ASP.NET Web Formu ile kullanılabilir

Üç basit adımda gerçekleştirilebilir:

  1. Bir Web API Denetleyicisi oluşturun,
  2. Global.sax'ın Application_Start yöntemine bir yönlendirme tablosu ekleyin
  3. Daha sonra bir jQuery AJAX Çağrısı Web API yöntemi yapmanız ve veri almanız gerekir.

17) Web API'ye Erişimi Belirli HTTP Fiili ile nasıl sınırlayabilirsiniz?

Öznitelik programlama önemli bir rol oynar. Belirli bir HTTP yöntemi kullanılarak çağrılacak bir ASP.NET Web API yöntemine erişimi kısıtlamak kolaydır.

18) Web API'yi ASP.NET Web Form ile kullanabilir misiniz?

Evet, ASP.Net web formu ile Web API kullanmak mümkündür. ASP.NET MVC çerçevesi ile birlikte olduğu gibi. Ancak ASP.NET Web Form ile birlikte kullanılabilir.

19) ASP.NET Web API Eylemi için takma ad nasıl atayabilirim?

Aşağıdaki gibi "ActionName" özniteliğini kullanarak, ASP.NET MVC durumunda olduğu gibi Web API eylemi için takma ad verebiliriz:

[HttpPost][ActionName("SaveStudentInfo")]public void UpdateStudent(Student aStudent){StudentRepository.AddStudent(aStudent);}

20) TestApi'nin anlamı nedir?

TestApi, API'lerden oluşan bir yardımcı program kitaplığıdır. Bu kitaplığı kullanarak test geliştiricisi, veri yapısı ve algoritmaları kullanarak bir .NET uygulaması için test araçları ve otomatik testler oluşturabilir.

21) İstisna filtrelerini açıklar mısınız?

İstisnalar işlenmediğinde ve bir denetleyiciden atıldığında yürütülür. İstisnanın nedeni herhangi bir şey olabilir. İstisna filtreleri "IExceptionFilter" arayüzünü uygulayacaktır.

22) Eylemden istisna filtresini nasıl kaydedebiliriz?

Aşağıdaki kodu kullanarak eylemden istisna filtresini kaydedebiliriz:

[NotImplExceptionFilter]public TestCustomer GetMyTestCustomer(int custid){//write the code}

23) Görünümü ASP.NET Web API yönteminden nasıl döndürebilirsiniz?

Hayır, ASP.NET Web API Yönteminden bir görünüm döndüremiyoruz. Web API, ham verileri işleyen HTTP hizmetleri oluşturur. Ancak, ASP.NET MVC uygulamasında da mümkündür.

24) Küresel olarak istisna filtresi nasıl kaydedilir?

Aşağıdaki kodu kullanarak küresel olarak istisna filtresini kaydetmek mümkündür:

GlobalConfiguration.Configuration.Filters.Add (yeni

MyTestCustomerStore.NotImplExceptionFilterAttribute ());

25) DİNLENME ve DİNLENME nedir?

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

RESTFUL: REST mimari kavramları uygulanarak yazılan terim, RESTful hizmetleri olarak adlandırılır. Sistem kaynaklarına ve kaynağın durumunun HTTP protokolü üzerinden nasıl taşınması gerektiğine odaklanır.

26) Bir Web API Yönlendirme örneği verin?

Config.Routes.MapHttpRoute(name: "MyRoute,"//route namerouteTemplate: "api/{controller}/{action}/{id}",//as you can see "API" is at the beginning.defaults: new { id = RouteParameter.Optional });

27) Web API'deki hataları nasıl halledebilirsiniz?

Hataları işlemek için Web API'de çeşitli sınıflar mevcuttur. Bunlar HttpError, İstisna Filtreleri, HttpResponseException ve İstisna Filtrelerini Kaydetmedir.

28) ASP.NET Web API 2.0 ile Hangi Yeni Özellikler Geliyor?

ASP.NET Web API framework v2.0'ın en son özellikleri aşağıdaki gibidir:

  • Öznitelik Yönlendirme
  • Kaynaklar Arası Kaynak Paylaşımı
  • Harici Kimlik Doğrulama
  • Açık Web Arayüzü NET
  • HttpActionResult
  • Web API OData

29) Erişim yöntemlerini Web API'deki belirli HTTP fiilleriyle nasıl kısıtlayabilirsiniz?

Öznitelikler yardımıyla (HTTP fiilleri gibi), Web API'de erişim kısıtlamaları uygulamak mümkündür.

Erişimi kısıtlamak için bir öznitelik olarak HTTP fiillerini tanımlamak mümkündür. Misal:

[HttpPost]public void Method1(Class obj){//logic

30) Web API'de birden çok karmaşık türü nasıl geçirebilirsiniz?

Web API'de karmaşık türleri geçirmek için iki yöntem -

ArrayList ve Newtonsoft dizisini kullanma

31) Web API'de ArrayList'i geçirmek için bir kod yazın?

ArrayList paramList = new ArrayList();Category c = new Category { CategoryId = 1, CategoryName =“MobilePhones”};Product p = new Product { Productcode = 1, Name = “MotoG”, Price = 15500, CategoryID = 1 };paramList.Add(c);paramList.Add(p);

32) Web API'sini geliştirmek veya test etmek için kullanılan araçları veya API'yi adlandırın mı?

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

  1. Jersey API
  2. CFX
  3. Eksen
  4. Restlet

33) DİNLENME nedir?

REST mimari tarzdır. Ölçeklenebilir hizmetler oluşturmak için yönergeler tanımlamıştır. REST, GET, PUT, POST ve DELETE fiillerini kullanan HTTP protokolü ile kullanılır.

34) Web API birim testi nasıl yapılır?

Fiddler gibi Web API araçlarını kullanarak Birim testi yapabiliriz.

İşte, kullanıyorsanız yapmanız gereken bazı ayarlar

Fiddler -Compose Sekmesi -> İstek Başlıklarını Girin -> İstek Gövdesini girin ve yürütün

35) Web API'de belirli HTTP fiilleriyle yöntemlere erişimi nasıl kısıtlayabiliriz?

Öznitelik programlama, bu işlevsellik için yaygın olarak kullanılmaktadır. Web API ayrıca, belirli HTTP fiillerinin yardımıyla arama yöntemlerine erişimin kısıtlanmasına da izin verir. Yöntem üzerinden öznitelik olarak HTTP fiillerini tanımlamak da mümkündür.

36) DelegatingHandler'ın kullanımı nedir?

DelegatingHandler, yönlendirme işleminden önce İleti İşleyicilerini temsil etmek için Web API'sinde kullanılır.

37) Eylemden istisna filtresini nasıl kaydedebiliriz?

Aşağıdaki kodu kullanarak eylemden istisna filtresini kaydedebiliriz

[NotImplExceptionFilter]public TestCust GetMyTestCust (int custno){//write the code}

38) HttpError'dan 404 hatalarını nasıl döndürebileceğimizi göstermek için bana kod parçacığını söyle?

HttpError'dan 404 hatası döndürme kodu

string message = string.Format ("TestCustomer id = {0} bulunamadı", customerid);

return Request.CreateErrorResponse (HttpStatusCode.NotFound, mesaj);

39) Denetleyiciden istisna filtreleri kaydetmek için kod parçacığını açıklayın?

[NotImplExceptionFilter]public class TestCustController : Controller{//Your code goes here}

40) Web API hangi protokolü destekler?

Web Uygulaması HTTP protokolünü destekler

41) Aşağıdaki .NET çerçevelerinden hangisi Web API'yi destekler?

Web API, NET 4.0 sürümü tarafından desteklenmektedir

42) Web API, JSON serileştirme için hangi kitaplığı kullanır?

Web API, JSON serileştirme için Json.NET kitaplığını kullanır.

43) Varsayılan olarak, Web API, yakalanmamış tüm istisnalar için aşağıdaki durum kodlarından hangisiyle HTTP yanıtı gönderir?

500 - Dahili Sunucu Hatası

44) Web API'de HttpError kullanarak hata giderme yöntemini açıklar mısınız?

WEB API'de HttpError hata bilgisini yanıt gövdesine atmak için kullanılır. Bununla birlikte, "HttpRequestMessageExtension" içinde tanımlanan bir genişletme yöntemi olan "CreateErrorResponse" yöntemi de kullanılabilir.

45) İstisna filtresini global olarak nasıl kaydedebiliriz?

Aşağıdaki kodu kullanarak genel olarak istisna filtresini kaydedebiliriz:

GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());

46) Web API'deki hatalar nasıl ele alınır?

Hataları işlemek için Web API'de çeşitli sınıflar mevcuttur. Bunlar HttpError, HttpResponseException, İstisna Filtreleri, İstisna Filtrelerinin Kaydedilmesidir.

47) WebAPI'nin WCF'ye göre faydası nedir?

WCF hizmetleri SOAP protokolünü kullanırken, HTTP hiçbir zaman SOAP protokolünü kullanmaz. Bu nedenle, SOAP kullanılmadığından WebAPI hizmetleri hafiftir. Ayrıca hizmete devam etmek için aktarılan verileri de azaltır. Dahası, hiçbir zaman çok fazla yapılandırmaya ihtiyaç duymaz. Bu nedenle, istemci, HTTP fiillerini kullanarak hizmetle etkileşime girebilir.

48) MVC ve WebAPI arasındaki durum farklılıkları

MVC çerçevesi, Kullanıcı Arayüzüne sahip uygulamalar geliştirmek için kullanılır. Bunun için, bir kullanıcı arayüzü oluşturmak için görünümler kullanılabilir.

WebAPI, HTTP hizmetlerini geliştirmek için kullanılır. Diğer uygulamalar da bu verileri almak için WebAPI yöntemleri olarak adlandırılabilir.

49) WebAPI'yi kimler kullanabilir?

WebAPI, GET, PUT, DELETE, POST gibi HTTP fiillerini destekleyen herhangi bir istemci tarafından kullanılabilir. WebAPI hizmetleri herhangi bir yapılandırmaya ihtiyaç duymadığından, herhangi bir istemci tarafından tüketilmesi çok kolaydır. Infract, Mobil cihazlar gibi taşınabilir cihazlar bile, bu teknolojinin kesinlikle en büyük avantajı olan WebAPI'yi kolayca tüketebilir.

50) Web API'nin yalnızca JSON verilerini döndürdüğünden nasıl emin olabiliriz?

Web API'sinin, dönen nesneyi JSON formatına serileştirmesini ve yalnızca JSON verilerini döndürmesini sağlamak için. Bunun için, herhangi bir MVC Web API Projesinde WebApiConfig.cs sınıfına aşağıdaki kodu eklemelisiniz:

//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));123//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))