Top 50 Asp.Net Web API Interview Otázky a odpovědi

Anonim

Stáhnout PDF

1) Co je to Web API?

WebAPI je rámec, který vám pomůže vytvářet / rozvíjet služby HTTP.

2) Proč je vyžadováno webové API? Je možné použít služby RESTful pomocí WCF?

Ano, stále můžeme vyvíjet služby RESTful s WCF. Existují však dva hlavní důvody, které uživatele vyzývají k použití webového rozhraní API místo služeb RESTful.

  • Web API zvyšuje přístup TDD (Test Data Driven) při vývoji služeb RESTful.
  • Pokud chceme vyvíjet služby RESTful v WCF, určitě potřebujete spoustu nastavení konfigurace, šablony URI, kontrakty a koncové body pro vývoj služeb RESTful pomocí webového API.

3) Proč zvolit Web API?

  • Používá se k vytvoření jednoduchých služeb HTTP, které nejsou založeny na protokolu SOAP
  • Je to také snadná metoda pro vytváření pomocí webového rozhraní API. Se službami WCF REST
  • Je založen na protokolu HTTP a snadno se definuje, vystavuje a spotřebovává způsobem REST.
  • Jedná se o lehkou architekturu a je ideální pro zařízení, která mají omezenou šířku pásma, jako jsou smartphony.

4) Je správné, že webové rozhraní API ASP.NET nahradilo WCF?

Není vůbec pravda, že webové rozhraní API ASP.NET nahradilo WCF. Ve skutečnosti je to další způsob budování služeb, které nejsou založeny na SOAP, tj. Prostý řetězec XML nebo JSON.

5) Jaké jsou výhody webového API?

Výhody webového API jsou:

  • OData
  • Filtry
  • Vyjednávání o obsahu
  • Vlastní hostování
  • Směrování
  • Vazby modelů

6) Jaké jsou hlavní typy návratů podporované webovým API?

Akce řadiče webového API může vrátit následující hodnoty:

  • Void - Vrátí prázdný obsah
  • HttpResponseMessage - převede odpověď na zprávu HTTP.
  • IHttpActionResult - interně volá ExecuteAsync k vytvoření HttpResponseMessage
  • Jiné typy - Do těla odpovědi můžete zapsat serializovanou návratovou hodnotu

7) Web API podporuje který protokol?

Webová aplikace podporuje protokol HTTP.

8) Který .NET framework podporuje Web API?

NET 4.0 a vyšší verze podporuje webové API.

9) Web API používá, která z následujících knihoven open-source pro serializaci JSON?

Web API používá knihovnu Json.NET pro serializaci JSON.

10) Ve výchozím nastavení odesílá webové rozhraní API odpověď HTTP s kterým z následujících stavových kódů pro všechny nezachycené výjimky?

500 - Interní chyba serveru

11) Jaká je největší nevýhoda „Dalších typů návratů“ ve webovém rozhraní API?

Největší nevýhodou tohoto přístupu je, že nemůžete přímo vrátit chybový kód, jako je chyba 404.

12) Jak vytvoříte HtmlResponseMessage?

Následuje způsob konstrukce, jak to udělat,

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) Co je směrování webového API?

Směrování je porovnávání vzorů jako v MVC.

Všechny trasy jsou registrovány v tabulkách tras.

Například:

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

14) Co je to SOAP?

SOAP je formát zprávy XML používaný při interakcích s webovými službami. Umožňuje odesílat zprávy přes HTTP nebo JMS, ale lze použít i jiné transportní protokoly. Je to také protokol zasílání zpráv založený na XML pro výměnu informací mezi počítači.

15) Jaké jsou výhody používání RESTu ve webovém API?

REST se používá k menšímu počtu datových přenosů mezi klientem a serverem, díky čemuž je ideální pro použití v mobilních aplikacích. Web API také podporuje protokol HTTP. Proto znovu zavádí tradiční způsob sloves HTTP pro komunikaci.

16) Jak můžeme použít webové rozhraní API s webovým formulářem ASP.NET?

Webové rozhraní API lze použít s webovým formulářem ASP.NET

Lze jej provést ve třech jednoduchých krocích:

  1. Vytvořte řadič webového rozhraní API,
  2. Přidejte směrovací tabulku k metodě Application_Start Global.sax
  3. Pak musíte provést metodu jQuery AJAX Call to Web API a získat data.

17) Jak můžete omezit přístup k webovému API na konkrétní sloveso HTTP?

Programování atributů hraje důležitou roli. Je snadné omezit přístup na metodu ASP.NET Web API, která se má volat pomocí konkrétní metody HTTP.

18) Můžete použít webové rozhraní API s webovým formulářem ASP.NET?

Ano, je možné použít webové rozhraní API s webovým formulářem ASP.Net. Jak je dodáván s ASP.NET MVC framework. Lze jej však použít s webovým formulářem ASP.NET.

19) Jak lze přiřadit název aliasu pro akci webového API ASP.NET?

Alias ​​názvu akce webového API můžeme dát stejně jako v případě ASP.NET MVC pomocí atributu „ActionName“ následovně:

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

20) Jaký je význam TestApi?

TestApi je obslužná knihovna API. Pomocí tohoto vývojáře testerů knihoven lze vytvářet testovací nástroje a automatizované testy pro aplikaci .NET pomocí datové struktury a algoritmů.

21) Vysvětlete filtry výjimek?

Bude provedeno, když jsou výjimky neošetřeny a vyvolány z metody řadiče. Důvodem výjimky může být cokoli. Filtry výjimek budou implementovat rozhraní „IExceptionFilter“.

22) Jak můžeme zaregistrovat filtr výjimek z akce?

Můžeme zaregistrovat filtr výjimek z akce pomocí následujícího kódu:

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

23) Jak můžete vrátit pohled z metody ASP.NET Web API?

Ne, nemůžeme vrátit zobrazení z metody ASP.NET Web API. Web API vytváří služby HTTP, které vykreslují nezpracovaná data. Je to však také možné v aplikaci ASP.NET MVC.

24) Jak globálně zaregistrovat filtr výjimek?

Filtr výjimek je možné globálně zaregistrovat pomocí následujícího kódu -

GlobalConfiguration.Configuration.Filters.Add (nové

MyTestCustomerStore.NotImplExceptionFilterAttribute ());

25) Vysvětlete, co je REST a RESTFUL?

REST představuje přenos reprezentativního stavu; je to zcela nový aspekt psaní webové aplikace.

RESTFUL: Termín napsaný aplikací architektonických konceptů REST se nazývá RESTful services. Zaměřuje se na systémové prostředky a na to, jak by měl být stav prostředku přenášen přes protokol HTTP.

26) Uveďte jeden příklad směrování webového API?

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) Jak můžete zacházet s chybami ve webovém rozhraní API?

Pro zpracování chyb je ve webovém rozhraní API k dispozici několik tříd. Jsou to HttpError, filtry výjimek, HttpResponseException a registrace filtrů výjimek.

28) Jaké nové funkce přicházejí s webovým rozhraním ASP.NET Web API 2.0?

Nejnovější funkce rozhraní ASP.NET Web API v2.0 jsou následující:

  • Směrování atributů
  • Sdílení zdrojů mezi zdroji
  • Externí autentizace
  • Otevřete webové rozhraní NET
  • HttpActionResult
  • Web API OData

29) Jak můžete omezit metody přístupu na konkrétní slovesa HTTP ve webovém rozhraní API?

S pomocí atributů (jako slovesa HTTP) je možné implementovat omezení přístupu ve webovém rozhraní API.

Je možné definovat slovesa HTTP jako atribut omezující přístup. Příklad:

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

30) Jak můžete předat více komplexních typů ve webovém rozhraní API?

Dvě metody pro předání komplexních typů ve webovém rozhraní API -

Pomocí ArrayList a Newtonsoft pole

31) Napsat kód pro předání ArrayList do webového API?

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) Pojmenujte nástroje nebo API pro vývoj nebo testování webového API?

Testovací nástroje pro webové služby pro REST API zahrnují:

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

33) Co je REST?

REST je architektonický styl. Má definované pokyny pro vytváření služeb, které jsou škálovatelné. REST použitý s protokolem HTTP pomocí jeho sloves GET, PUT, POST a DELETE.

34) Jak testovat jednotkové webové rozhraní API?

Můžeme provést Unit test pomocí nástrojů webového API, jako je Fiddler.

Zde jsou některá nastavení, která je třeba provést, pokud používáte

Fiddler - karta Vytvořit -> Zadejte záhlaví požadavku -> Zadejte tělo požadavku a proveďte

35) Jak můžeme omezit přístup k metodám s konkrétními slovesy HTTP ve webovém rozhraní API?

Pro tuto funkcionalitu je široce používáno programování atributů. Web API také umožňuje omezit přístup volajících metod pomocí konkrétních sloves HTTP. Je také možné definovat slovesa HTTP jako atribut přes metodu.

36) Jaké je použití DelegatingHandler?

DelegatingHandler se používá ve webovém rozhraní API k reprezentaci obslužných rutin zpráv před směrováním.

37) Jak můžeme zaregistrovat filtr výjimek z akce?

Můžeme zaregistrovat filtr výjimek z akce pomocí následujícího kódu

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

38) Řekněte mi fragment kódu, který ukáže, jak můžeme vrátit chyby 404 z HttpError?

Kód pro vrácení chyby 404 z HttpError

string message = string.Format (“TestCustomer id = {0} not found”, customerid);

návrat Request.CreateErrorResponse (HttpStatusCode.NotFound, zpráva);

39) Vysvětlete fragment kódu pro registraci filtrů výjimek z řadiče?

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

40) Web API podporuje který protokol?

Webová aplikace podporuje protokol HTTP

41) Který z následujících .NET frameworků podporuje webové API?

Webové rozhraní API je podporováno verzí NET 4.0

42) Web API používá jakou knihovnu pro serializaci JSON?

Web API používá knihovnu Json.NET pro serializaci JSON.

43) Ve výchozím nastavení odesílá webové rozhraní API odpověď HTTP s kterým z následujících stavových kódů pro všechny nezachycené výjimky?

500 - Interní chyba serveru

44) Vysvětlete metodu zpracování chyby pomocí HttpError ve webovém rozhraní API?

V WEB API HttpError slouží k vyvolání informací o chybě v těle odpovědi. Spolu s tím lze také použít metodu „CreateErrorResponse“, což je metoda rozšíření definovaná v „HttpRequestMessageExtension.“

45) Jak můžeme zaregistrovat filtr výjimek globálně?

Filtr výjimek můžeme zaregistrovat globálně pomocí následujícího kódu:

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

46) Jak zacházet s chybami ve webovém rozhraní API?

Pro zpracování chyb je ve webovém rozhraní API k dispozici několik tříd. Jsou to HttpError, HttpResponseException, filtry výjimek, registrace filtrů výjimek.

47) Jaká je výhoda WebAPI oproti WCF?

Služby WCF používají protokol SOAP, zatímco protokol HTTP nikdy nepoužívá protokol SOAP. Proto jsou služby WebAPI lehké, protože SOAP se nepoužívá. Snižuje také data, která jsou přenášena do obnovení služby. Navíc nikdy nepotřebuje příliš mnoho konfigurace. Klient proto může komunikovat se službou pomocí sloves HTTP.

48) Stavové rozdíly mezi MVC a WebAPI

Framework MVC se používá pro vývoj aplikací, které mají uživatelské rozhraní. K tomu lze použít pohledy k vytvoření uživatelského rozhraní.

WebAPI se používá k vývoji služeb HTTP. Jiné aplikace lze také nazvat metodami WebAPI pro načtení těchto dat.

49) Kdo může konzumovat WebAPI?

WebAPI může spotřebovat jakýkoli klient, který podporuje slovesa HTTP, například GET, PUT, DELETE, POST. Protože služby WebAPI nepotřebují žádnou konfiguraci, snadno je spotřebuje každý klient. Infract, dokonce i přenosná zařízení, jako jsou mobilní zařízení, mohou snadno konzumovat WebAPI, což je určitě největší výhoda této technologie.

50) Jak se můžeme ujistit, že Web API vrací pouze data JSON?

Chcete-li, aby webové rozhraní API serializovalo vracející se objekt do formátu JSON a vrací pouze data JSON. K tomu byste měli přidat následující kód do třídy WebApiConfig.cs v jakémkoli projektu MVC Web API:

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