Top 50 Asp.Net Web API Interview Otázky a odpovede

Anonim

Stiahnite si PDF

1) Čo je to Web API?

WebAPI je rámec, ktorý vám pomáha budovať / rozvíjať služby HTTP.

2) Prečo je potrebné webové rozhranie API? Je možné použiť služby RESTful pomocou WCF?

Áno, stále môžeme vyvíjať RESTful služby s WCF. Existujú však dva hlavné dôvody, ktoré používateľov vyzývajú, aby namiesto služieb RESTful používali webové rozhranie API.

  • Web API zvyšuje prístup TDD (Test Data Driven) pri vývoji služieb RESTful.
  • Ak chceme vo WCF vyvíjať služby RESTful, určite potrebujete veľa konfiguračných nastavení, šablón URI, kontraktov a koncových bodov pre vývoj služieb RESTful pomocou webového API.

3) Prečo zvoliť webové API?

  • Používa sa na vytváranie jednoduchých služieb HTTP, ktoré nie sú založené na SOAP
  • Je to tiež ľahká metóda na vytvorenie pomocou webového rozhrania API. So službami WCF REST
  • Je založený na HTTP a ľahko sa definuje, vystavuje a spotrebúva REST-plným spôsobom.
  • Má ľahkú architektúru a je ideálny pre zariadenia, ktoré majú obmedzenú šírku pásma, ako sú napríklad smartphony.

4) Je správne, že webové rozhranie API ASP.NET nahradilo WCF?

Nie je vôbec pravda, že webové rozhranie API ASP.NET nahradilo WCF. V skutočnosti je to ďalší spôsob budovania služieb, ktoré nie sú založené na SOAP, tj. Obyčajný reťazec XML alebo JSON.

5) Aké sú výhody webového API?

Výhody webového API sú:

  • OData
  • Filtre
  • Vyjednávanie o obsahu
  • Samohostenie
  • Smerovanie
  • Viazanie modelov

6) Aké sú hlavné typy návratov podporované vo webovom rozhraní API?

Akcia ovládača webového rozhrania API môže vrátiť nasledujúce hodnoty:

  • Void - vráti prázdny obsah
  • HttpResponseMessage - prevedie odpoveď na správu HTTP.
  • IHttpActionResult - interne volá ExecuteAsync na vytvorenie HttpResponseMessage
  • Ostatné typy - Do tela odpovede môžete zapísať serializovanú návratovú hodnotu

7) Web API podporuje ktorý protokol?

Webová aplikácia podporuje protokol HTTP.

8) Ktorý .NET framework podporuje Web API?

NET 4.0 a vyššia verzia podporuje webové API.

9) Web API používa ktorú z nasledujúcich knižníc open-source na serializáciu JSON?

Web API používa na serializáciu JSON knižnicu Json.NET.

10) Web API štandardne odosiela odpoveď HTTP s ktorým z nasledujúcich stavových kódov pre všetky nezachytené výnimky?

500 - Interná chyba servera

11) Aká je najväčšia nevýhoda možnosti „Ostatné typy vrátenia“ vo webovom API?

Najväčšou nevýhodou tohto prístupu je, že nemôžete priamo vrátiť chybový kód, napríklad chybu 404.

12) Ako zostavíte HtmlResponseMessage?

Nasleduje spôsob, ako to konštruovať,

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) Čo je smerovanie webového API?

Smerovanie je porovnávanie vzorov ako v MVC.

Všetky trasy sú zaregistrované v tabuľkách trás.

Napríklad:

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

14) Čo je to SOAP?

SOAP je formát správy XML používaný pri interakciách s webovými službami. Umožňuje odosielať správy cez HTTP alebo JMS, ale je možné použiť aj iné transportné protokoly. Je to tiež protokol zasielania správ založený na XML na výmenu informácií medzi počítačmi.

15) Aká je výhoda použitia REST vo webovom API?

REST sa používa na uskutočnenie menšieho množstva dátových prenosov medzi klientom a serverom, vďaka čomu je ideálny na použitie v mobilných aplikáciách. Web API tiež podporuje protokol HTTP. Preto znovu zavádza tradičný spôsob komunikácií slovies HTTP.

16) Ako môžeme použiť webové API s webovým formulárom ASP.NET?

Webové API je možné použiť s webovým formulárom ASP.NET

Môže sa vykonať v troch jednoduchých krokoch:

  1. Vytvorte radič webového API,
  2. Pridajte smerovaciu tabuľku k metóde Application_Start súboru Global.sax
  3. Potom musíte vytvoriť metódu jQuery AJAX Call to Web API a získať údaje.

17) Ako môžete obmedziť prístup k webovému API na konkrétne sloveso HTTP?

Dôležitú úlohu zohráva programovanie atribútov. Je ľahké obmedziť prístup k metóde ASP.NET Web API, ktorá sa má nazývať pomocou konkrétnej metódy HTTP.

18) Môžete použiť webové rozhranie API s webovým formulárom ASP.NET?

Áno, je možné použiť webové API s webovým formulárom ASP.Net. Pretože je dodávaný s rámcom ASP.NET MVC. Môže sa však použiť s webovým formulárom ASP.NET.

19) Ako je možné priradiť alias názvu k akcii ASP.NET Web API?

Alias ​​názvu akcie webového API môžeme dať rovnako ako v prípade ASP.NET MVC pomocou atribútu „ActionName“ nasledovne:

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

20) Aký je význam TestApi?

TestApi je pomocná knižnica API. Pomocou tohto nástroja na testovanie knižnice môže vývojár vytvárať testovacie nástroje a automatizované testy pre aplikáciu .NET pomocou dátovej štruktúry a algoritmov.

21) Vysvetlite filtre výnimiek?

Vykoná sa, keď sa výnimky neošetria a vyhodia z metódy radiča. Dôvodom výnimky môže byť čokoľvek. Filtre výnimiek budú implementovať rozhranie „IExceptionFilter“.

22) Ako môžeme zaregistrovať filter výnimiek z akcie?

Môžeme zaregistrovať filter výnimiek z akcie pomocou nasledujúceho kódu:

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

23) Ako môžete vrátiť zobrazenie z metódy ASP.NET Web API?

Nie, nemôžeme vrátiť zobrazenie z metódy ASP.NET Web API. Webové rozhranie API vytvára služby HTTP, ktoré vykresľujú nespracované údaje. Je to však možné aj v aplikácii ASP.NET MVC.

24) Ako globálne zaregistrovať filter výnimiek?

Je možné globálne zaregistrovať filter výnimiek pomocou nasledujúceho kódu

GlobalConfiguration.Configuration.Filters.Add (nové

MyTestCustomerStore.NotImplExceptionFilterAttribute ());

25) Vysvetlite, čo je REST a RESTFUL?

REST predstavuje REPrezentačný štátny prevod; je to úplne nový aspekt písania webovej aplikácie.

RESTFUL: Termín napísaný aplikáciou architektonických konceptov REST sa nazýva RESTful services. Zameriava sa na systémové prostriedky a na to, ako by sa mal stav prostriedku prenášať cez protokol HTTP.

26) Dajte mi jeden príklad smerovania 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) Ako môžete vyriešiť chyby vo webovom API?

Na spracovanie chýb je vo webovom rozhraní API k dispozícii niekoľko tried. Sú to HttpError, Filtre výnimiek, HttpResponseException a Registrácia filtrov výnimiek.

28) Aké nové funkcie prichádzajú s webovým rozhraním ASP.NET Web API 2.0?

Najnovšie funkcie rozhrania ASP.NET Web API v2.0 sú:

  • Smerovanie atribútov
  • Zdieľanie zdrojov medzi krajinami
  • Externá autentifikácia
  • Otvorte webové rozhranie NET
  • HttpActionResult
  • Web API OData

29) Ako môžete obmedziť metódy prístupu na konkrétne slovesá HTTP vo webovom API?

Pomocou atribútov (ako sú slovesá HTTP) je možné implementovať obmedzenia prístupu do webového rozhrania API.

Je možné definovať slovesá HTTP ako atribút na obmedzenie prístupu. Príklad:

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

30) Ako môžete vo webovom rozhraní API odovzdať viac zložitých typov?

Dve metódy na odovzdanie zložitých typov vo webovom rozhraní API -

Pomocou polí ArrayList a Newtonsoft

31) Napíš kód na odovzdanie 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) Pomenujete nástroje alebo API na vývoj alebo testovanie webového rozhrania API?

Testovacie nástroje pre webové služby pre REST API zahŕňajú:

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

33) Čo je to REST?

REST je architektonický štýl. Definovala pokyny pre vytváranie služieb, ktoré sú škálovateľné. REST použitý s protokolom HTTP pomocou jeho slovies GET, PUT, POST a DELETE.

34) Ako testovať jednotku Web API?

Test jednotky môžeme vykonať pomocou nástrojov webového API, ako je Fiddler.

Tu je niekoľko nastavení, ktoré je potrebné urobiť, ak používate

Fiddler - karta Zloženie -> Zadajte hlavičky požiadavky -> Zadajte telo žiadosti a vykonajte

35) Ako môžeme obmedziť prístup k metódam s konkrétnymi slovesami HTTP vo webovom API?

Pre túto funkcionalitu sa často používa programovanie atribútov. Web API tiež umožňuje obmedziť prístup volacích metód pomocou konkrétnych slovies HTTP. Je tiež možné definovať slovesá HTTP ako atribút nad metódou.

36) Na čo slúži DelegatingHandler?

DelegatingHandler sa vo webovom rozhraní API používa na zastupovanie obslužných rutín správ pred smerovaním.

37) Ako môžeme zaregistrovať filter výnimiek z akcie?

Pomocou nasledujúceho kódu môžeme zaregistrovať filter výnimiek z akcie

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

38) Povedzte mi útržok kódu, ktorý mi ukáže, ako môžeme vrátiť chyby 404 z HttpError?

Kód na vrátenie chyby 404 z HttpError

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

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

39) Vysvetlite úryvok kódu na registráciu filtrov výnimiek z ovládača?

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

40) Web API podporuje ktorý protokol?

Webová aplikácia podporuje protokol HTTP

41) Ktorý z nasledujúcich rozhraní .NET podporuje webové rozhranie API?

Web API podporuje verzia NET 4.0

42) Web API používa ktorú knižnicu na serializáciu JSON?

Web API používa na serializáciu JSON knižnicu Json.NET.

43) Web API štandardne odosiela odpoveď HTTP s ktorým z nasledujúcich stavových kódov pre všetky nezachytené výnimky?

500 - Interná chyba servera

44) Vysvetlite metódu na spracovanie chyby pomocou HttpError vo webovom API?

V WEB API sa HttpError používa na vyhodenie informácií o chybe do tela odpovede. Spolu s tým je možné použiť aj metódu „CreateErrorResponse“, čo je metóda rozšírenia definovaná v „HttpRequestMessageExtension“.

45) Ako môžeme globálne zaregistrovať filter výnimiek?

Filter výnimiek môžeme zaregistrovať globálne pomocou nasledujúceho kódu:

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

46) Ako spracovať chyby vo webovom API?

Na spracovanie chýb je vo webovom rozhraní API k dispozícii niekoľko tried. Sú to HttpError, HttpResponseException, filtre výnimiek, registrácia filtrov výnimiek.

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

Služby WCF používajú protokol SOAP, zatiaľ čo protokol HTTP nikdy nepoužíva protokol SOAP. Preto sú služby WebAPI ľahké, pretože SOAP sa nepoužíva. Znižuje tiež údaje, ktoré sa prenášajú do obnovenia služby. Navyše nikdy nepotrebuje príliš veľa konfigurácie. Preto môže klient interagovať so službou pomocou slovies HTTP.

48) Rozdiely medzi stavmi medzi MVC a WebAPI

MVC framework sa používa na vývoj aplikácií, ktoré majú užívateľské rozhranie. Na tento účel je možné použiť zobrazenia na vytvorenie používateľského rozhrania.

WebAPI sa používa na vývoj služieb HTTP. Ostatné aplikácie možno tiež nazvať metódami WebAPI na načítanie týchto údajov.

49) Kto môže konzumovať WebAPI?

WebAPI môže konzumovať každý klient, ktorý podporuje slovesá HTTP, ako napríklad GET, PUT, DELETE, POST. Pretože služby WebAPI nepotrebujú žiadnu konfiguráciu, ich použitie je veľmi ľahké pre každého klienta. Infract, dokonca aj prenosné zariadenia, ako sú mobilné zariadenia, môžu ľahko konzumovať WebAPI, čo je určite najväčšia výhoda tejto technológie.

50) Ako môžeme zaistiť, aby webové rozhranie API vracalo iba údaje JSON?

Ak chcete, aby webové rozhranie API serializovalo vracajúci sa objekt do formátu JSON a vracia iba údaje JSON. Preto by ste mali do triedy WebApiConfig.cs v ľubovoľnom projekte webového rozhrania MVC Web API pridať nasledujúci kód:

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