50 parimat Asp.Net Web API intervjuu küsimust ja vastust

Anonim

Laadige alla PDF

1) Mis on veebi API?

WebAPI on raamistik, mis aitab teil üles ehitada / arendada HTTP-teenuseid.

2) Miks on vaja veebi API-d? Kas WCF-i abil on võimalik kasutada RESTful teenuseid?

Jah, WCF-iga saame ikkagi välja töötada RESTful teenuseid. Siiski on kaks peamist põhjust, mis sunnib kasutajaid kasutama RESTfuli teenuste asemel Web API-d.

  • Veebi-API suurendab RESTful-teenuste arendamisel TDD (Test Data Driven) lähenemist.
  • Kui tahame WCF-is RESTfuli teenuseid arendada, vajate kindlasti palju API seadistusi, URI-malle, lepinguid ja lõpp-punkte RESTful-teenuste arendamiseks veebi API abil.

3) Miks valida veebi API?

  • Seda kasutatakse lihtsate, mitte SOAP-põhiste HTTP-teenuste loomiseks
  • See on ka veebiliidesega loomise lihtne meetod. WCF REST teenustega
  • See põhineb HTTP-l ja seda on lihtne määratleda, paljastada ja REST-viisil kasutada.
  • See on kerge arhitektuur ja sobib ideaalselt piiratud ribalaiusega seadmete jaoks, näiteks nutitelefonid.

4) Kas on õige, et ASP.NET Web API on WCF-i asendanud?

Pole sugugi tõsi, et ASP.NET Web API on WCF-i asendanud. Tegelikult on see veel üks viis mitte-SOAP-põhiste teenuste, st tavalise XML-i või JSON-i stringi loomiseks.

5) Mis on Web API eelised?

Veebi API eelised on:

  • OData
  • Filtrid
  • Sisuläbirääkimised
  • Isemajutus
  • Marsruutimine
  • Mudelköited

6) Mis on peamised tagastustüübid, mida Web API toetab?

Veebiliidese kontrolleri toiming võib tagastada järgmised väärtused:

  • Tühine - see tagastab tühja sisu
  • HttpResponseMessage - see teisendab vastuse HTTP-sõnumiks.
  • IHttpActionResult - kutsub ExecuteAsynci sisemiselt, et luua HttpResponseMessage
  • Muud tüübid - saate sisestada jada tagastatava väärtuse vastuse sisusse

7) Mis API-d toetab veebi API?

Veebirakendus toetab HTTP-protokolli.

8) Milline .NET-i raamistik toetab veebi API-d?

NET 4.0 ja uuem versioon toetab veebi API-d.

9) Veebi API kasutab JSON-i serialiseerimiseks järgmist järgmist avatud lähtekoodiga teeki?

Veebirakendus kasutab JSON-i serialiseerimiseks Json.NET-i teeki.

10) Vaikimisi saadab Web API HTTP vastuse, millise järgmisest olekukoodist kõigi püüdmata erandite puhul?

500 - sisemine serveri viga

11) Mis on "Web Return API" muude tagasipöördumistüüpide suurim puudus?

Selle lähenemisviisi suurim puudus on see, et te ei saa otseselt tagastada veakoodi nagu 404 tõrge.

12) Kuidas koostate HtmlResponseMessage?

Järgmine on viis seda teha,

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) Mis on veebi API marsruutimine?

Marsruutimine on mustri sobitamine nagu MVC-s.

Kõik marsruudid on registreeritud marsruuditabelites.

Näiteks:

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

14) Mis on seep?

SOAP on XML-sõnumivorming, mida kasutatakse veebiteenuste interaktsioonides. See võimaldab saata sõnumeid HTTP või JMS kaudu, kuid kasutada võib ka muid transpordiprotokolle. See on ka XML-põhine sõnumiprotokoll arvutite vahel teabe vahetamiseks.

15) Mis kasu on REST-i kasutamisest veebi API-s?

REST-i kasutatakse vähem andmeedastuste tegemiseks kliendi ja serveri vahel, mis muudab selle ideaalseks selle kasutamiseks mobiilirakendustes. Veebi API toetab ka HTTP-protokolli. Seetõttu taastatakse sellega HTTP-tegusõnade tavapärane suhtlusviis.

16) Kuidas kasutada veebi API-d koos ASP.NET-i veebivormiga?

Veebiliidest saab kasutada koos ASP.NET-i veebivormiga

Seda saab teha kolme lihtsa sammuna:

  1. Looge veebi API kontroller,
  2. Lisage marsruutimistabel meetodile Global.sax Application_Start
  3. Seejärel peate tegema jQuery AJAX Call to Web API meetodi ja hankima andmeid.

17) Kuidas piirata juurdepääsu veebi API-le konkreetse HTTP-verbiga?

Atribuutide programmeerimisel on oluline roll. Juurdepääsu ASP.NET Web API meetodile on lihtne piirata, kasutades selleks konkreetset HTTP-meetodit.

18) Kas saate veebi API-d kasutada koos ASP.NET-i veebivormiga?

Jah, veebiliidest on võimalik kasutada veebivormiga ASP.Net. Kuna see on komplekteeritud ASP.NET MVC raamistikuga. Kuid seda saab kasutada koos ASP.NET-i veebivormiga.

19) Kuidas saab ASP.NET Web API toiminguks varjunime määrata?

Saame anda Web API toimingule varjunime nagu ASP.NET MVC puhul, kasutades atribuuti "ActionName" järgmiselt:

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

20) Mida tähendab TestApi?

TestApi on API-de utiliitide kogu. Selle raamatukogu testeriga saab arendaja luua .NET-rakenduse jaoks andmestruktuuri ja algoritme kasutades testimisvahendeid ja automatiseeritud teste.

21) Selgitage erandfiltreid?

See täidetakse siis, kui erandeid käsitletakse ja kontrolleri metoodikast visatakse. Erandi põhjus võib olla mis tahes. Erandfiltrid rakendavad liidest "IExceptionFilter".

22) Kuidas saab toimingust erandfiltrit registreerida?

Võime registreerida toimingu erandfiltri järgmise koodi abil:

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

23) Kuidas saate vaate ASP.NET Web API meetodilt tagastada?

Ei, me ei saa vaadet ASP.NET Web API meetodilt tagastada. Veebi API loob toorandmeid renderdavad HTTP-teenused. Kuid see on võimalik ka rakenduses ASP.NET MVC.

24) Kuidas registreerida erandfiltrit ülemaailmselt?

Erandifiltrit on võimalik registreerida ülemaailmselt, kasutades järgmisi koodi-

GlobalConfiguration.Configuration.Filters.Add (uus

MyTestCustomerStore.NotImplExceptionFilterAttribute ());

25) Selgitage, mis on puhkus ja puhkus?

REST tähistab RE-esitluslikku riigiülekannet; see on veebirakenduse kirjutamise täiesti uus aspekt.

RESTFUL: REST-i arhitektuurikontseptsioone rakendades kirjutatud terminit nimetatakse RESTful-teenusteks. See keskendub süsteemiressurssidele ja sellele, kuidas ressursi olekut tuleks transportida üle HTTP-protokolli.

26) Tooge mulle üks näide veebi API marsruutimisest?

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) Kuidas saate toime tulla veebirakenduse vigadega?

Vigade käsitlemiseks on Web API-s saadaval mitu klassi. Need on HttpError, erandfiltrid, HttpResponseException ja erandfiltrite registreerimine.

28) Milliseid uusi funktsioone pakub ASP.NET Web API 2.0?

ASP.NET Web API raamistiku v2.0 uusimad funktsioonid on järgmised:

  • Atribuutide marsruutimine
  • Päritoluülene ressursside jagamine
  • Väline autentimine
  • Avage veebiliides NET
  • HttpActionResult
  • Veebi API OData

29) Kuidas saate veebiliideses piirata juurdepääsumeetodeid konkreetsete HTTP-tegusõnadega?

Atribuutide (nt HTTP-verbide) abil on Web API-s võimalik juurutada juurdepääsupiiranguid.

Juurdepääsu piiramiseks on võimalik määratleda atribuutina HTTP-verbid. Näide:

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

30) Kuidas saate Web API-s edastada mitut keerukat tüüpi?

Kaks meetodit keeruliste tüüpide edastamiseks veebi API-s -

ArrayListi ja Newtonsofti massiivi kasutamine

31) Kas kirjutada kood ArrayListi edastamiseks veebi API-sse?

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) Nimetage veebi api arendamise või testimise tööriistad või API?

REST API-de veebiteenuste testimisvahendid hõlmavad järgmist:

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

33) Mis on puhkus?

REST on arhitektuuristiil. See on määratlenud juhised skaleeritavate teenuste loomiseks. REST-i kasutatakse koos HTTP-protokolliga, kasutades selle verbe GET, PUT, POST ja DELETE.

34) Kuidas testida veebi API-d?

Saame ühikutesti teha, kasutades veebi API tööriistu nagu Fiddler.

Siin on mõned seadistused, mis tuleb teie kasutamisel teha

Fiddler - vahekaart Koosta -> Sisesta päringu päised -> Sisesta päringu keha ja täida

35) Kuidas piirata juurdepääsu meetoditele, millel on Web API-s konkreetsed HTTP-verbid?

Selle funktsiooni jaoks kasutatakse atribuutide programmeerimist laialdaselt. Veebi-API võimaldab ka konkreetsete HTTP-verbide abil piirata helistamismeetoditele juurdepääsu. Samuti on võimalik määratleda HTTP verbid meetodi atribuudina.

36) Mis on DelegatingHandleri kasutamine?

DelegatingHandlerit kasutatakse veebi API-s sõnumikäsitlejate esindamiseks enne marsruutimist.

37) Kuidas registreerida tegevusest erandfiltrit?

Võime registreerida toimingu erandfiltri järgmise koodi abil

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

38) Öelge mulle koodilõik, et näidata, kuidas saame HttpErrorist 404 viga tagastada?

Kood 404 tõrke tagastamiseks HttpErrorist

string-teade = string.Format („TestCustomer id = {0} ei leitud”, customerid);

tagastage Request.CreateErrorResponse (HttpStatusCode.NotFound, sõnum);

39) Selgitage koodijuppi, et registreerida kontrolleri erandfiltreid?

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

40) Mis API-d toetab veebi API?

Veebirakendus toetab HTTP-protokolli

41) Milline järgmistest .NET-i raamistikest toetab veebi API-d?

Veebirakendust toetab NET 4.0 versioon

42) Web API kasutab JSON-i serialiseerimiseks millist teeki?

Veebirakendus kasutab JSON-i serialiseerimiseks Json.NET-i teeki.

43) Vaikimisi saadab Web API HTTP vastuse, millise järgmisest olekukoodist kõigi püüdmata erandite puhul?

500 - sisemine serveri viga

44) Selgitage vea käsitlemise meetodit, kasutades veebi API-s HttpError'i?

WEB API-s kasutati HttpErrorit veainfo sisestamiseks vastuse sisusse. Koos sellega saab kasutada ka meetodit „CreateErrorResponse”, mis on laiendimeetod, mis on määratletud jaotises „HttpRequestMessageExtension”.

45) Kuidas saab erandite filtrit globaalselt registreerida?

Erandfiltri saab registreerida ülemaailmselt järgmise koodi abil:

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

46) Kuidas käsitseda veebirakenduse vigu?

Vigade käsitlemiseks on Web API-s saadaval mitu klassi. Need on HttpError, HttpResponseException, Erandifiltrid, Erandfiltrite registreerimine.

47) Mis on WebAPI eelis WCF-i ees?

WCF-teenused kasutavad SOAP-protokolli, samas kui HTTP ei kasuta kunagi SOAP-protokolli. Seetõttu on WebAPI teenused kerged, kuna SOAP-i ei kasutata. Samuti vähendab see teenuse taastamiseks edastatud andmeid. Pealegi ei vaja see kunagi liiga palju seadistusi. Seetõttu saab klient teenusega suhelda, kasutades HTTP-verbe.

48) Riikide erinevused MVC ja WebAPI vahel

MVC raamistikku kasutatakse kasutajaliidesega rakenduste arendamiseks. Selleks saab vaateid kasutada kasutajaliidese loomiseks.

WebAPI-d kasutatakse HTTP-teenuste arendamiseks. Teisi rakendusi saab nende andmete toomiseks nimetada ka WebAPI-meetoditeks.

49) Kes saab WebAPI-d tarbida?

WebAPI-d saab tarbida iga klient, mis toetab HTTP-verbe nagu GET, PUT, DELETE, POST. Kuna WebAPI teenused ei vaja konfigureerimist, on neid iga klient väga lihtne tarbida. Rikkumata võivad isegi kaasaskantavad seadmed, näiteks mobiilseadmed, hõlpsasti tarbida WebAPI-d, mis on kindlasti selle tehnoloogia suurim eelis.

50) Kuidas tagada, et veebirakendus tagastab ainult JSON-i andmed?

Veebirakenduse sertimiseks tagastatav objekt JSON-vormingusse ja tagastab ainult JSON-i andmed. Selleks peaksite lisama mis tahes MVC Web API projekti klassi WebApiConfig.cs järgmise koodi:

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