Az 50 legfontosabb Asp.Net Web API interjúkérdések és válaszok

Anonim

PDF letöltése

1) Mi az a webes API?

A WebAPI egy olyan keretrendszer, amely segít HTTP-szolgáltatások kiépítésében / fejlesztésében.

2) Miért van szükség webes API-ra? Használható-e RESTful szolgáltatás a WCF használatával?

Igen, még mindig fejleszthetjük a RESTful szolgáltatásokat a WCF segítségével. Két fő oka van azonban, amelyek arra késztetik a felhasználókat, hogy a RESTful szolgáltatások helyett a Web API-t használják.

  • A webes API növeli a TDD (Test Data Driven) megközelítést a RESTful szolgáltatások fejlesztésében.
  • Ha RESTful szolgáltatásokat szeretnénk fejleszteni a WCF-ben, akkor biztosan sok konfigurációs beállításra, URI-sablonra, szerződésre és végpontra van szüksége a RESTful-szolgáltatások webes API-val történő fejlesztéséhez.

3) Miért válassza a Web API-t?

  • Egyszerű, nem SOAP alapú HTTP szolgáltatások létrehozására szolgál
  • Ez egy egyszerű módszer a Web API-val történő létrehozásra is. A WCF REST szolgáltatásokkal
  • HTTP-n alapul, és könnyen meghatározható, exponálható és REST-teljes módon felhasználható.
  • Könnyű felépítésű és ideális korlátozott sávszélességű eszközökhöz, mint például az okostelefonok.

4) Helyes, hogy az ASP.NET Web API felváltotta a WCF-et?

Egyáltalán nem igaz, hogy az ASP.NET Web API felváltotta a WCF-et. Valójában ez egy másik módja a nem SOAP alapú szolgáltatások, azaz sima XML vagy JSON karaktersorozat létrehozásának.

5) Milyen előnyei vannak a webes API-nak?

A webes API előnyei:

  • OData
  • Szűrők
  • Tartalmi egyeztetés
  • Önálló tárhely
  • útvonalválasztás
  • Modellkötések

6) Melyek a Web API által támogatott fő visszatérítési típusok?

A webes API-vezérlő művelete a következő értékeket adhatja vissza:

  • Érvénytelen - üres tartalmat ad vissza
  • HttpResponseMessage - A választ HTTP-üzenetgé alakítja.
  • IHttpActionResult - belsőleg hívja meg az ExecuteAsync-et egy HttpResponseMessage létrehozásához
  • Egyéb típusok - A sorosított visszatérési értéket beírhatja a válasz törzsébe

7) A Web API melyik protokollt támogatja?

A Web App támogatja a HTTP protokollt.

8) Melyik .NET-keretrendszer támogatja a Web API-t?

A NET 4.0 és újabb verziói támogatják a webes API-t.

9) A webes API az alábbi nyílt forráskódú könyvtárak közül melyiket használja a JSON sorosításához?

A webes API a Json.NET könyvtárat használja a JSON sorosításához.

10) Alapértelmezés szerint a Web API HTTP-választ küld az alábbi állapotkóddal az összes el nem fogott kivétel esetén?

500 Belső Szerver Hiba

11) Mi a legnagyobb hátránya az "Egyéb visszatérési típusoknak" a Web API-ban?

Ennek a megközelítésnek a legnagyobb hátránya, hogy közvetlenül nem adhat vissza olyan hibakódot, mint a 404-es hiba.

12) Hogyan állítja össze a HtmlResponseMessage fájlt?

A következő módon megalkothatjuk ezt,

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) Mi az a webes API útválasztás?

Az útválasztás mintaillesztés, mint az MVC-ben.

Minden útvonal az Útvonal táblázatokban van regisztrálva.

Például:

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

14) Mi a SOAP?

A SOAP egy XML üzenetformátum, amelyet webszolgáltatási interakciókban használnak. Lehetővé teszi az üzenetek küldését HTTP-n vagy JMS-en keresztül, de más szállítási protokollok is használhatók. Ez egy XML-alapú üzenetküldő protokoll is a számítógépek közötti információcseréhez.

15) Mi az előnye a REST használatának a Web API-ban?

A REST-et kevesebb adatátvitelre használják az ügyfél és a szerver között, ami ideális a mobilalkalmazásokban történő használatához. A Web API támogatja a HTTP protokollt is. Ezért újból bevezeti a HTTP igék kommunikációjának hagyományos módját.

16) Hogyan használhatjuk a webes API-t az ASP.NET webes űrlappal?

A webes API használható az ASP.NET webes űrlappal

Három egyszerű lépésben hajtható végre:

  1. Hozzon létre egy webes API-vezérlőt,
  2. Adjon hozzá egy útválasztási táblázatot a Global.sax Application_Start metódusához
  3. Ezután el kell készítenie egy jQuery AJAX Call to Web API módszert, és adatokat kell beszereznie.

17) Hogyan korlátozhatjuk a webes API-khoz való hozzáférést specifikus HTTP igére?

Az attribútum programozása fontos szerepet játszik. Könnyű korlátozni az ASP.NET Web API-metódushoz való hozzáférést, amelyet egy adott HTTP-módszer segítségével kell meghívni.

18) Használhatja a Web API-t az ASP.NET webes űrlappal?

Igen, lehetséges a Web API használata az ASP.Net webes űrlappal. Mivel az ASP.NET MVC keretrendszerhez van kötve. Azonban használható az ASP.NET webes űrlappal.

19) Hogyan rendelhető álnév az ASP.NET Web API művelethez?

Az "ActionName" attribútum használatával a következőképpen adhatunk álnevet a Web API műveletekhez, mint az ASP.NET MVC esetében:

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

20) Mit jelent a TestApi?

A TestApi az API-k segédprogram-könyvtára. A könyvtárteszt segítségével a fejlesztő tesztstruktúrákat és automatizált teszteket hozhat létre .NET-alkalmazásokhoz adatstruktúra és algoritmusok felhasználásával.

21) Magyarázza a kivételszűrőket?

Akkor kerül végrehajtásra, ha a kivételeket kezelik, és a vezérlő metódusából dobják. A kivétel oka bármi lehet. A kivétel szűrők megvalósítják az "IExceptionFilter" felületet.

22) Hogyan regisztrálhatunk kivétel szűrőt a műveletből?

A művelet alóli kivételszűrőt a következő kód segítségével regisztrálhatjuk:

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

23) Hogyan adhatja vissza a View from ASP.NET Web API metódust?

Nem, nem adhatunk vissza nézetet az ASP.NET Web API módszerből. A Web API olyan HTTP szolgáltatásokat hoz létre, amelyek nyers adatokat jelenítenek meg. Ez azonban lehetséges az ASP.NET MVC alkalmazásban is.

24) Hogyan lehet globálisan regisztrálni a kivételszűrőt?

A kivételszűrő globálisan regisztrálható a következő kód-

GlobalConfiguration.Configuration.Filters.Add (új

MyTestCustomerStore.NotImplExceptionFilterAttribute ());

25) Magyarázza el, mi a Pihenés és a Pihenés?

A REST a REpresentational State Transfer-t jelenti; ez teljesen új szempont a webalkalmazások írásakor.

RESTFUL: A REST építészeti koncepciók alkalmazásával írt kifejezés RESTful szolgáltatásoknak hívják. Összpontosít a rendszer erőforrásaira és arra, hogy az erőforrás állapotát hogyan kell szállítani a HTTP protokollon keresztül.

26) Mondjon egy példát a webes API útválasztásra?

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) Hogyan kezelheti a webes API hibáit?

Számos osztály áll rendelkezésre a Web API-ban a hibák kezelésére. Ezek a HttpError, a kivételszűrők, a HttpResponseException és a kivételszűrők regisztrálása.

28) Milyen új szolgáltatásokkal jár az ASP.NET Web API 2.0?

Az ASP.NET Web API Framework v2.0 legújabb szolgáltatásai a következők:

  • Attribútum útválasztás
  • Cross-Origin erőforrásmegosztás
  • Külső hitelesítés
  • Nyissa meg a Web Interface NET alkalmazást
  • HttpActionResult
  • Web API OData

29) Hogyan korlátozhatja a hozzáférési módszereket a webes API bizonyos HTTP igéire?

Az Attribútumok (például HTTP igék) segítségével hozzáférési korlátozásokat lehet bevezetni a Web API-ban.

Lehetőség van HTTP-igék definiálására attribútumként a hozzáférés korlátozásához. Példa:

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

30) Hogyan adhat át több összetett típust a Web API-ban?

Két módszer a komplex típusok átadására a Web API-ban -

Az ArrayList és a Newtonsoft tömb használata

31) Írjon egy kódot az ArrayList átadásához a Web API-ban?

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) Nevezze meg az eszközöket vagy az API-t a webes API fejlesztéséhez vagy teszteléséhez?

A REST API-k webszolgáltatásainak tesztelő eszközei a következők:

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

33) Mi a REST?

A REST építészeti stílus. Meghatározta a skálázható szolgáltatások létrehozásának irányelveit. A REST a HTTP-protokollal együtt használva a GET, PUT, POST és DELETE igékkel.

34) Hogyan kell egységesen tesztelni a Web API-t?

Végezhetünk Unit tesztet olyan webes API eszközökkel, mint a Fiddler.

Itt van néhány beállítás, amelyet meg kell tenni, ha használja

Fiddler - Compose fül -> Enter Request Headers -> Adja meg a Request Body-t és hajtsa végre

35) Hogyan korlátozhatjuk a webes API-ban meghatározott HTTP igékkel rendelkező módszerekhez való hozzáférést?

Az attribútum programozását széles körben használják ehhez a funkcióhoz. A Web API lehetővé teszi a hívási módszerekhez való hozzáférés korlátozását meghatározott HTTP igék segítségével. Az is lehetséges, hogy a HTTP igék attribútumként legyenek meghatározva.

36) Mi a DelegatingHandler használata?

A DelegatingHandler a webes API-ban az Üzenetkezelők képviseletére szolgál az útválasztás előtt.

37) Hogyan regisztrálhatunk kivétel szűrőt a műveletből?

A művelet alóli kivételszűrőt a következő kód segítségével regisztrálhatjuk

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

38) Mondja meg a kódrészletet, hogy megmutassam, hogyan adhatunk vissza 404 hibát a HttpErrorból?

Kód a 404-es hiba visszaadásához a HttpError-ból

string üzenet = string.Format („TestCustomer id = {0} nem található”, ügyfél azonosító);

return Request.CreateErrorResponse (HttpStatusCode.NotFound, üzenet);

39) Magyarázza el a kódrészletet a vezérlőből származó kivételszűrők regisztrálásához?

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

40) A webes API mely protokollt támogatja?

A Web App támogatja a HTTP protokollt

41) Az alábbi .NET-keretrendszerek közül melyik támogatja a Web API-t?

A webes API-t a NET 4.0 verzió támogatja

42) A webes API melyik könyvtárat használja a JSON sorosításához?

A webes API a Json.NET könyvtárat használja a JSON sorosításához.

43) Alapértelmezés szerint a Web API HTTP-választ küld az alábbi állapotkóddal az összes el nem fogott kivétel esetén?

500 Belső Szerver Hiba

44) Magyarázza el a hiba kezelésének módszerét a HttpError használatával a Web API-ban?

A WEB API-ban a HttpError használta a hibainformációkat a válasz törzsébe. Ezzel együtt használható a „CreateErrorResponse” módszer is, amely a „HttpRequestMessageExtension” szakaszban definiált kiterjesztési módszer.

45) Hogyan regisztrálhatjuk a kivételszűrőt globálisan?

A kivételszűrőt globálisan regisztrálhatjuk a következő kód használatával:

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

46) Hogyan kezeljük a webes API hibáit?

Számos osztály áll rendelkezésre a Web API-ban a hibák kezelésére. Ezek a HttpError, a HttpResponseException, a kivételszűrők, a kivételszűrők regisztrálása.

47) Mi az előnye a WebAPI-nak a WCF-hez képest?

A WCF-szolgáltatások a SOAP protokollt használják, míg a HTTP soha nem használja a SOAP protokollt. Ezért a WebAPI-szolgáltatások könnyűek, mivel a SOAP-ot nem használják. Csökkenti a szolgáltatás folytatásához továbbított adatokat is. Sőt, soha nem kell túl sok konfiguráció. Ezért az ügyfél a HTTP igék használatával léphet kapcsolatba a szolgáltatással.

48) Állami különbségek az MVC és a WebAPI között

Az MVC keretrendszert felhasználói felülettel rendelkező alkalmazások fejlesztésére használják. Ehhez a nézetek felhasználhatók a felhasználói felület felépítéséhez.

A WebAPI a HTTP-szolgáltatások fejlesztésére szolgál. Más alkalmazásokat WebAPI módszereknek is nevezhetünk az adatok lekérésére.

49) Ki fogyaszthatja a WebAPI-t?

A WebAPI-t bármely olyan ügyfél el tudja fogyasztani, amely olyan HTTP igéket támogat, mint a GET, PUT, DELETE, POST. Mivel a WebAPI szolgáltatásoknak nincs szükségük semmilyen konfigurációra, azokat bármely ügyfél könnyen el tudja fogyasztani. A sérülékeny, még olyan hordozható eszközök is, mint a mobileszközök, könnyen fogyaszthatják a WebAPI-t, ami minden bizonnyal a technológia legnagyobb előnye.

50) Hogyan győződhetünk meg arról, hogy a Web API csak a JSON adatokat adja vissza?

A web-API sorosítása a visszatérő objektumot JSON formátumba, és csak a JSON-adatokat adja vissza. Ehhez hozzá kell adnia a következő kódot a WebApiConfig.cs osztályhoz bármely MVC Web API projektben:

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