Top 50 vprašanj in odgovorov za intervju za spletni API Asp.Net

Anonim

Prenesite PDF

1) Kaj je spletni API?

WebAPI je ogrodje, ki vam pomaga zgraditi / razviti storitve HTTP.

2) Zakaj je potreben spletni API? Ali je mogoče uporabiti storitve RESTful z uporabo WCF?

Da, še vedno lahko razvijamo RESTful storitve z WCF. Vendar pa obstajata dva glavna razloga, zaradi katerih uporabniki uporabita spletni API namesto storitev RESTful.

  • Spletni API povečuje pristop TDD (Test Data Driven) pri razvoju storitev RESTful.
  • Če želimo razviti storitve RESTful v WCF, boste zagotovo potrebovali veliko nastavitev konfiguracije, predloge URI, pogodbe in končne točke za razvoj storitev RESTful z uporabo spletnega API-ja.

3) Zakaj izbrati spletni API?

  • Uporablja se za ustvarjanje preprostih storitev HTTP, ki ne temeljijo na SOAP
  • Je tudi preprost način za ustvarjanje s spletnim API-jem. S storitvami WCF REST
  • Temelji na HTTP-ju in ga je enostavno definirati, izpostaviti in porabiti na REST VSE.
  • Je lahka arhitektura in idealna za naprave z omejeno pasovno širino, kot so pametni telefoni.

4) Ali je prav, da je spletni API ASP.NET zamenjal WCF?

Sploh ni res, da je spletni API ASP.NET zamenjal WCF. Pravzaprav gre za drug način gradnje storitev, ki ne temeljijo na SOAP, to je navaden niz XML ali JSON.

5) Kakšne so prednosti spletnega API-ja?

Prednosti spletnega API-ja so:

  • OData
  • Filtri
  • Pogajanje o vsebini
  • Samogostovanje
  • Usmerjanje
  • Modelne vezi

6) Katere so glavne vrste vračil, ki jih podpira spletni API?

Dejanje krmilnika spletnega API-ja lahko vrne naslednje vrednosti:

  • Void - vrnila bo prazno vsebino
  • HttpResponseMessage - Odziv bo pretvoril v sporočilo HTTP.
  • IHttpActionResult - interno pokliče ExecuteAsync, da ustvari HttpResponseMessage
  • Druge vrste - serijsko vrnjeno vrednost lahko zapišete v telo odziva

7) Kateri protokol podpira spletni API?

Spletna aplikacija podpira protokol HTTP.

8) Kateri okvir .NET podpira spletni API?

NET 4.0 in novejše različice podpira spletni API.

9) Spletni API uporablja katero od naslednjih odprtokodnih knjižnic za serializacijo JSON?

Spletni API uporablja knjižnico Json.NET za serializacijo JSON.

10) Spletni API privzeto pošlje odgovor HTTP s katero od naslednjih kod stanja za vse nezajete izjeme?

500 Notranja napaka strežnika

11) Kaj je največja pomanjkljivost "drugih vrst vračanja" v spletnem API-ju?

Največja pomanjkljivost tega pristopa je, da ne morete neposredno vrniti kode napake, kot je napaka 404.

12) Kako sestavim HtmlResponseMessage?

Sledi način, kako to zgraditi,

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) Kaj je usmerjanje spletnih API-jev?

Usmerjanje je ujemanje vzorcev kot pri MVC.

Vse poti so registrirane v tabelah poti.

Na primer:

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

14) Kaj je MILO?

SOAP je oblika sporočila XML, ki se uporablja pri interakcijah s spletnimi storitvami. Omogoča pošiljanje sporočil prek HTTP ali JMS, lahko pa se uporabljajo tudi drugi transportni protokoli. Je tudi protokol za sporočanje na osnovi XML za izmenjavo informacij med računalniki.

15) Kakšna je prednost uporabe REST-a v spletnem API-ju?

REST se uporablja za manj prenosov podatkov med odjemalcem in strežnikom, zaradi česar je idealen za uporabo v mobilnih aplikacijah. Spletni API podpira tudi protokol HTTP. Zato ponovno uvaja tradicionalni način glagolov HTTP za komunikacijo.

16) Kako lahko uporabimo spletni API s spletnim obrazcem ASP.NET?

Spletni API se lahko uporablja s spletnim obrazcem ASP.NET

Izvede se lahko v treh preprostih korakih:

  1. Ustvarite krmilnik spletnega API-ja,
  2. Dodajte usmerjevalno tabelo v metodo Application_Start v Global.sax
  3. Nato morate opraviti metodo jQuery AJAX Call to Web API in pridobiti podatke.

17) Kako lahko omejite dostop do spletnega API-ja na določen glagol HTTP?

Programiranje lastnosti igra pomembno vlogo. Enostavno je omejiti dostop do metode spletnega API-ja ASP.NET, ki jo je treba poklicati z določeno metodo HTTP.

18) Ali lahko uporabljate spletni API s spletnim obrazcem ASP.NET?

Da, Spletni API je mogoče uporabiti s spletnim obrazcem ASP.Net. Ker je priložen ogrodju ASP.NET MVC. Vendar pa se lahko uporablja s spletnim obrazcem ASP.NET.

19) Kako lahko dodelim vzdevek za ASP.NET Web API Action?

Ime vzdevka za dejanje spletnega API-ja lahko damo enako kot v primeru ASP.NET MVC z atributom "ActionName", kot sledi:

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

20) Kaj pomeni TestApi?

TestApi je pomožna knjižnica API-jev. Razvijalec preizkuševalca te knjižnice lahko s pomočjo podatkovne strukture in algoritmov ustvari orodja za testiranje in avtomatizirane teste za aplikacijo .NET.

21) Pojasni filtre izjem?

Izvede se, ko se izjeme odpravijo in vržejo iz metode krmilnika. Razlog za izjemo je lahko karkoli. Filtri izjem bodo izvedli vmesnik "IExceptionFilter".

22) Kako lahko iz dejanja registriramo filter izjem?

Z izjemo kode lahko registriramo izjemen filter iz akcije:

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

23) Kako lahko vrnete Pogled iz metode spletnega API-ja ASP.NET?

Ne, pogleda iz metode ASP.NET Web API ne moremo vrniti. Spletni API ustvari storitve HTTP, ki upodabljajo neobdelane podatke. Vendar je to mogoče tudi v aplikaciji ASP.NET MVC.

24) Kako globalno registrirati filter izjem?

Filter izjem je mogoče registrirati globalno z uporabo naslednje kode-

GlobalConfiguration.Configuration.Filters.Add (novo

MyTestCustomerStore.NotImplExceptionFilterAttribute ());

25) Pojasnite, kaj je POČITEK in POČITEK?

REST predstavlja zastopniški državni prenos; gre za povsem nov vidik pisanja spletne aplikacije.

RESTFUL: Izraz, napisan z uporabo arhitekturnih konceptov REST, se imenuje RESTful services. Osredotoča se na sistemske vire in način prenosa stanja vira po protokolu HTTP.

26) Navedite en primer usmerjanja spletnih API-jev?

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) Kako lahko obvladujete napake v spletnem API-ju?

V spletnem API-ju je na voljo več razredov za obdelavo napak. So HttpError, filtri izjem, HttpResponseException in registri filtri izjem.

28) Katere nove funkcije prihaja z ASP.NET Web API 2.0?

Najnovejše funkcije okolja ASP.NET Web API v2.0 so naslednje:

  • Usmerjanje atributov
  • Skupna raba virov
  • Zunanja overitev
  • Odprite spletni vmesnik NET
  • HttpActionResult
  • Spletni API OData

29) Kako lahko v spletnem API-ju omejite metode dostopa na določene glagole HTTP?

S pomočjo atributov (kot so glagoli HTTP) je mogoče uvesti spletne omejitve dostopa v spletnem API-ju.

Glagole HTTP je mogoče definirati kot atribut za omejitev dostopa. Primer:

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

30) Kako lahko v spletnem API-ju prenesete več zapletenih vrst?

Dve metodi za posredovanje zapletenih vrst v spletnem API-ju -

Uporaba arrayList in Newtonsoft array

31) Napiši kodo za posredovanje seznama ArrayList v spletni 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) Navedite orodja ali API za razvoj ali testiranje spletnega api?

Orodja za testiranje spletnih storitev za API-je REST vključujejo:

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

33) Kaj je REST?

REST je arhitekturni slog. Določila je smernice za ustvarjanje razširljivih storitev. REST se uporablja s protokolom HTTP z glagoli GET, PUT, POST in DELETE.

34) Kako enotno preizkusiti spletni API?

Preizkus enote lahko izvedemo z orodji spletnega API-ja, kot je Fiddler.

Tukaj je nekaj nastavitev, ki jih morate izvesti, če jih uporabljate

Fiddler-zavihek za sestavljanje -> vnesite glave zahtev -> vnesite telo zahteve in izvedite

35) Kako lahko v spletnem API-ju omejimo dostop do metod z določenimi glagoli HTTP?

Za to funkcionalnost se pogosto uporablja programiranje atributov. Spletni API omogoča tudi omejevanje dostopa do klicnih metod s pomočjo določenih glagolov HTTP. Glagole HTTP je mogoče definirati tudi kot atribut nad metodo.

36) Kakšna je uporaba DelegatingHandler?

DelegatingHandler se v spletnem API-ju uporablja za predstavitev upravljalcev sporočil pred usmerjanjem.

37) Kako lahko iz dejanja registriramo filter izjem?

Z izjemo kode lahko registriramo filter izjem iz akcije

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

38) Povejte mi delček kode, da pokažem, kako lahko vrnemo napake 404 iz HttpError?

Koda za vrnitev napake 404 iz HttpError

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

vrni Request.CreateErrorResponse (HttpStatusCode.NotFound, sporočilo);

39) Razložite delček kode za registracijo filtrov izjem iz krmilnika?

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

40) Kateri protokol podpira spletni API?

Spletna aplikacija podpira protokol HTTP

41) Kateri od naslednjih okvirjev .NET podpira spletni API?

Spletni API podpira različica NET 4.0

42) Spletni API uporablja katero knjižnico za serializacijo JSON?

Spletni API uporablja knjižnico Json.NET za serializacijo JSON.

43) Spletni API privzeto pošlje odgovor HTTP s katero od naslednjih kod stanja za vse nezajete izjeme?

500 Notranja napaka strežnika

44) Razložite metodo za obvladovanje napak z uporabo HttpError v spletnem API-ju?

V spletnem API-ju se HttpError uporablja za vrnitev informacij o napaki v telo odziva. Poleg tega je mogoče uporabiti tudi metodo "CreateErrorResponse", ki je metoda razširitve, opredeljena v "HttpRequestMessageExtension."

45) Kako lahko globalno registriramo filter izjem?

Filter izjem lahko registriramo globalno z uporabo naslednje kode:

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

46) Kako ravnati z napakami v spletnem API-ju?

V spletnem API-ju je na voljo več razredov za obdelavo napak. To so HttpError, HttpResponseException, izjemni filtri, registracija izjemnih filtrov.

47) Kakšna je prednost WebAPI pred WCF?

Storitve WCF uporabljajo protokol SOAP, medtem ko HTTP nikoli ne uporablja protokola SOAP. Zato so storitve WebAPI lahke, saj se SOAP ne uporablja. Prav tako zmanjšuje podatke, ki se prenašajo na nadaljevanje storitve. Poleg tega nikoli ne potrebuje preveč konfiguracije. Zato lahko odjemalec komunicira s storitvijo z uporabo glagolov HTTP.

48) Navedite razlike med MVC in WebAPI

Okvir MVC se uporablja za razvoj aplikacij z uporabniškim vmesnikom. Za to lahko poglede uporabimo za izdelavo uporabniškega vmesnika.

WebAPI se uporablja za razvoj storitev HTTP. Druge aplikacije lahko imenujemo tudi metode WebAPI za pridobivanje teh podatkov.

49) Kdo lahko uporablja WebAPI?

WebAPI lahko porabi kateri koli odjemalec, ki podpira glagole HTTP, kot so GET, PUT, DELETE, POST. Ker storitve WebAPI ne potrebujejo nobene konfiguracije, jih vsaka stranka zelo enostavno porabi. Infract, tudi prenosne naprave, kot so mobilne naprave, lahko zlahka porabijo WebAPI, kar je zagotovo največja prednost te tehnologije.

50) Kako lahko zagotovimo, da spletni API vrne samo podatke JSON?

Če želite, da spletni API vrne objekt v format JSON in vrne samo podatke JSON. Za to morate v razredu WebApiConfig.cs dodati katero koli kodo v kateri koli projekt MVC Web API:

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