Descărcați PDF
1) Ce este API-ul Web?
WebAPI este un cadru care vă ajută să construiți / dezvoltați servicii HTTP.
2) De ce este necesară API-ul Web? Este posibil să utilizați serviciile RESTful folosind WCF?
Da, putem dezvolta în continuare servicii RESTful cu WCF. Cu toate acestea, există două motive principale care îi determină pe utilizatori să utilizeze API Web în locul serviciilor RESTful.
- Web API crește abordarea TDD (Test Data Driven) în dezvoltarea serviciilor RESTful.
- Dacă dorim să dezvoltăm servicii RESTful în WCF, cu siguranță aveți nevoie de o mulțime de setări de configurare, șabloane URI, contracte și puncte finale pentru dezvoltarea serviciilor RESTful folosind API-ul web.
3) De ce să selectați API Web?
- Este folosit pentru a crea servicii HTTP simple, care nu sunt bazate pe SOAP
- Este, de asemenea, o metodă ușoară de creare cu API Web. Cu serviciile WCF REST
- Se bazează pe HTTP și este ușor de definit, expus și consumat într-un mod REST-ful.
- Este o arhitectură ușoară și ideală pentru dispozitivele care au lățime de bandă limitată, cum ar fi smartphone-urile.
4) Este corect că ASP.NET Web API a înlocuit WCF?
Nu este deloc adevărat că ASP.NET Web API a înlocuit WCF. De fapt, este un alt mod de a construi servicii care nu sunt bazate pe SOAP, adică șir XML simplu sau JSON.
5) Care sunt avantajele Web API?
Avantajele API-ului Web sunt:
- OData
- Filtre
- Negocierea conținutului
- Găzduire personală
- Rutare
- Legături de model
6) Care sunt principalele tipuri de returnare acceptate în API-ul Web?
O acțiune de controler API Web poate returna următoarele valori:
- Vid - Acesta va returna conținut gol
- HttpResponseMessage - Acesta va converti răspunsul la un mesaj HTTP.
- IHttpActionResult - apelează intern ExecuteAsync pentru a crea un mesaj HttpResponse
- Alte tipuri - Puteți scrie valoarea de returnare serializată în corpul răspunsului
7) Ce protocol acceptă Web API?
Aplicația Web acceptă protocolul HTTP.
8) Ce cadru .NET acceptă API Web?
NET 4.0 și versiunile de mai sus acceptă API-ul web.
9) Web API folosește care dintre următoarele biblioteci open-source pentru serializarea JSON?
Web API folosește biblioteca Json.NET pentru serializarea JSON.
10) În mod implicit, Web API trimite răspuns HTTP cu care dintre următoarele coduri de stare pentru toate excepțiile neacoperite?
500 Eroare internă a server-ului
11) Care este cel mai mare dezavantaj al „Alte tipuri de returnare” în API-ul web?
Cel mai mare dezavantaj al acestei abordări este că nu puteți returna direct un cod de eroare precum eroarea 404.
12) Cum construiești HtmlResponseMessage?
Următorul este modul de a construi pentru a face acest lucru,
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) Ce este rutare API Web?
Rutarea este potrivirea modelelor ca în MVC.
Toate rutele sunt înregistrate în tabelele de rute.
De exemplu:
Routes.MapHttpRoute(Name: "ExampleWebAPIRoute",routeTemplate: “api/{controller}/{id}defaults: new { id = RouteParameter.Optional}
14) Ce este SOAP?
SOAP este un format de mesaj XML utilizat în interacțiunile serviciilor web. Permite trimiterea de mesaje prin HTTP sau JMS, dar pot fi utilizate alte protocoale de transport. Este, de asemenea, un protocol de mesagerie bazat pe XML pentru schimbul de informații între computere.
15) Care este avantajul utilizării REST în API-ul Web?
REST este folosit pentru a face mai puține transferuri de date între client și server, ceea ce îl face ideal pentru utilizarea acestuia în aplicații mobile. Web API acceptă, de asemenea, protocolul HTTP. Prin urmare, reintroduce modul tradițional al verbelor HTTP pentru comunicare.
16) Cum putem folosi API-ul Web cu ASP.NET Web Form?
API-ul web poate fi utilizat cu formularul web ASP.NET
Poate fi realizat în trei pași simpli:
- Creați un controler API Web,
- Adăugați o tabelă de rutare la metoda Application_Start a Global.sax
- Apoi, trebuie să efectuați o metodă jQuery AJAX Call to Web API și să obțineți date.
17) Cum poți să limitezi accesul la API-ul web la verbul HTTP specific?
Programarea atributelor joacă un rol important. Este ușor să restricționați accesul la o metodă ASP.NET Web API pentru a fi apelat utilizând o anumită metodă HTTP.
18) Puteți utiliza API-ul web cu ASP.NET Web Form?
Da, este posibil să utilizați API Web cu formularul web ASP.Net. Deoarece este inclus în cadrul ASP.NET MVC. Cu toate acestea, poate fi utilizat cu ASP.NET Web Form.
19) Cum se poate atribui numele de alias pentru acțiunea ASP.NET Web API?
Putem da numele de alias pentru acțiunea API Web la fel ca în cazul ASP.NET MVC utilizând atributul „ActionName” după cum urmează:
[HttpPost][ActionName("SaveStudentInfo")]public void UpdateStudent(Student aStudent){StudentRepository.AddStudent(aStudent);}
20) Care este semnificația TestApi?
TestApi este o bibliotecă utilitară de API-uri. Utilizarea acestui dezvoltator de tester de bibliotecă poate crea instrumente de testare și teste automate pentru o aplicație .NET utilizând structura de date și algoritmi.
21) Explicați filtrele de excepție?
Acesta va fi executat atunci când excepțiile nu sunt tratate și aruncate de la un controler metodic. Motivul excepției poate fi orice. Filtrele de excepții vor implementa interfața „IExceptionFilter”.
22) Cum putem înregistra filtrul de excepție din acțiune?
Putem înregistra filtrul de excepție de la acțiune folosind următorul cod:
[NotImplExceptionFilter]public TestCustomer GetMyTestCustomer(int custid){//write the code}
23) Cum puteți returna View din metoda ASP.NET Web API?
Nu, nu putem returna o vizualizare din metoda ASP.NET Web API. Web API creează servicii HTTP care redau date brute. Cu toate acestea, este posibil și în aplicația ASP.NET MVC.
24) Cum se înregistrează filtrul de excepții la nivel global?
Este posibil să înregistrați filtru de excepție la nivel global utilizând următorul cod-
GlobalConfiguration.Configuration.Filters.Add (nou
MyTestCustomerStore.NotImplExceptionFilterAttribute ());
25) Explicați ce este REST și RESTFUL?
REST reprezintă un transfer de stat reprezentativ; este cu totul un aspect nou al scrierii unei aplicații web.
RESTFUL: Termenul scris prin aplicarea conceptelor arhitecturale REST se numește servicii RESTful. Se concentrează pe resursele sistemului și modul în care starea resursei ar trebui transportată prin protocolul HTTP.
26) Dă-mi un exemplu de rutare API Web?
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) Cum puteți gestiona erorile din API-ul Web?
În API-ul web sunt disponibile mai multe clase pentru a gestiona erorile. Acestea sunt HttpError, filtre de excepție, HttpResponseException și înregistrarea de filtre de excepție.
28) Ce caracteristici noi vine cu ASP.NET Web API 2.0?
Cele mai recente caracteristici ale ASP.NET Web API framework v2.0 sunt după cum urmează:
- Rutare atribut
- Partajarea resurselor între origini
- Autentificare externă
- Deschideți interfața web NET
- HttpActionResult
- Web API OData
29) Cum puteți restricționa metodele de acces la verbe HTTP specifice din API-ul Web?
Cu ajutorul atributelor (cum ar fi verbele HTTP), este posibil să implementați restricții de acces în API-ul web.
Este posibil să se definească verbele HTTP ca un atribut pentru restricționarea accesului. Exemplu:
[HttpPost]public void Method1(Class obj){//logic
30) Cum puteți trece mai multe tipuri complexe în API-ul Web?
Două metode pentru a trece tipurile complexe în API-ul web -
Utilizarea matricei ArrayList și Newtonsoft
31) Scrieți un cod pentru trecerea ArrayList în API-ul Web?
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) Denumiți instrumentele sau API-ul pentru dezvoltarea sau testarea API-ului web?
Instrumentele de testare pentru serviciile web pentru API-urile REST includ:
- API Jersey
- CFX
- Axă
- Restlet
33) Ce este REST?
REST este un stil arhitectural. Acesta a definit linii directoare pentru crearea de servicii scalabile. REST folosit cu protocolul HTTP folosind verbele sale GET, PUT, POST și DELETE.
34) Cum se testează unitatea API Web?
Putem efectua un test de unitate folosind instrumente API Web precum Fiddler.
Iată câteva setări care trebuie făcute dacă utilizați
Fiddler -Compose Tab -> Enter Request Request Headers -> Enter the Request Body and execute
35) Cum putem restricționa accesul la metode cu verbe HTTP specifice în API-ul Web?
Programarea atributelor este folosită pe scară largă pentru această funcționalitate. Web API permite, de asemenea, restricționarea accesului metodelor de apelare cu ajutorul unor verbe HTTP specifice. De asemenea, este posibil să se definească verbele HTTP ca atribut peste metodă.
36) La ce folosește DelegatingHandler?
DelegatingHandler este utilizat în API-ul web pentru a reprezenta Handler-uri de mesaje înainte de rutare.
37) Cum putem înregistra filtrul de excepție din acțiune?
Putem înregistra filtrul de excepție de la acțiune folosind următorul cod
[NotImplExceptionFilter]public TestCust GetMyTestCust (int custno){//write the code}
38) Spuneți-mi fragmentul de cod pentru a arăta cum putem returna erorile 404 din HttpError?
Cod pentru returnarea erorii 404 din HttpError
mesaj de șir = șir.Format („TestCustomer id = {0} not found”, customerid);
returnează Request.CreateErrorResponse (HttpStatusCode.NotFound, mesaj);
39) Explicați fragmentul de cod pentru a înregistra filtrele de excepție de la controler?
[NotImplExceptionFilter]public class TestCustController : Controller{//Your code goes here}
40) Ce protocol acceptă Web API?
Web App acceptă protocolul HTTP
41) Care dintre următoarele .NET framework acceptă API Web?
Web API este acceptat de versiunea NET 4.0
42) Web API folosește ce bibliotecă pentru serializarea JSON?
Web API folosește biblioteca Json.NET pentru serializarea JSON.
43) În mod implicit, API-ul Web trimite răspuns HTTP cu care dintre următoarele coduri de stare pentru toate excepțiile neacoperite?
500 Eroare internă a server-ului
44) Explicați metoda de gestionare a erorilor folosind HttpError în Web API?
În API-ul WEB HttpError folosit pentru a arunca informațiile despre eroare în corpul răspunsului. Metoda „CreateErrorResponse” se poate folosi, de asemenea, împreună cu aceasta, care este o metodă de extensie definită în „HttpRequestMessageExtension”.
45) Cum putem înregistra filtrul de excepții la nivel global?
Putem înregistra filtrul de excepții la nivel global folosind următorul cod:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Cum să gestionăm erorile din API-ul Web?
În API-ul web sunt disponibile mai multe clase pentru a gestiona erorile. Acestea sunt HttpError, HttpResponseException, Filtre de excepție, Înregistrarea filtrelor de excepție.
47) Care este beneficiul WebAPI față de WCF?
Serviciile WCF utilizează protocolul SOAP în timp ce HTTP nu folosește niciodată protocolul SOAP. De aceea, serviciile WebAPI sunt ușoare, deoarece SOAP nu este utilizat. De asemenea, reduce datele care sunt transferate pentru reluarea serviciului. Mai mult, nu are nevoie niciodată de prea multă configurație. Prin urmare, clientul poate interacționa cu serviciul utilizând verbele HTTP.
48) Diferențele de stat între MVC și WebAPI
Cadrul MVC este utilizat pentru dezvoltarea de aplicații care au interfață utilizator. Pentru aceasta, vizualizările pot fi utilizate pentru construirea unei interfețe cu utilizatorul.
WebAPI este utilizat pentru dezvoltarea serviciilor HTTP. Alte aplicații pot fi numite și metode WebAPI pentru a prelua aceste date.
49) Cine poate consuma WebAPI?
WebAPI poate fi consumat de orice client care acceptă verbe HTTP precum GET, PUT, DELETE, POST. Deoarece serviciile WebAPI nu au nevoie de nicio configurație, acestea sunt foarte ușor de consumat de către orice client. În caz contrar, chiar și dispozitivele portabile, cum ar fi dispozitivele mobile, pot consuma cu ușurință WebAPI, ceea ce reprezintă cu siguranță cele mai mari avantaje ale acestei tehnologii.
50) Cum ne putem asigura că API-ul Web returnează numai date JSON?
Pentru a face ca API-ul Web să serializeze obiectul returnat în format JSON și returnează numai date JSON. Pentru aceasta, ar trebui să adăugați următorul cod în clasa WebApiConfig.cs în orice proiect MVC Web API:
//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));123//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))