ściągnij PDF
1) Co to jest interfejs API sieci Web?
WebAPI to framework, który pomaga budować / rozwijać usługi HTTP.
2) Dlaczego wymagany jest interfejs API sieci Web? Czy można używać usług RESTful przy użyciu WCF?
Tak, nadal możemy tworzyć usługi RESTful za pomocą WCF. Istnieją jednak dwa główne powody, dla których użytkownicy zachęcają do korzystania z interfejsu API sieci Web zamiast usług zgodnych z REST.
- Web API zwiększa podejście TDD (Test Data Driven) w tworzeniu usług RESTful.
- Jeśli chcemy tworzyć usługi RESTful w WCF, z pewnością potrzebujesz wielu ustawień konfiguracji, szablonów URI, kontraktów i punktów końcowych do tworzenia usług RESTful przy użyciu internetowego interfejsu API.
3) Dlaczego warto wybrać interfejs API sieci Web?
- Służy do tworzenia prostych usług HTTP nie opartych na protokole SOAP
- Jest to również łatwa metoda tworzenia za pomocą interfejsu API sieci Web. Z usługami REST WCF
- Opiera się na protokole HTTP i jest łatwy do zdefiniowania, ujawnienia i wykorzystania w pełni REST.
- Jest to lekka architektura i idealna dla urządzeń o ograniczonej przepustowości, takich jak smartfony.
4) Czy to prawda, że interfejs API sieci Web ASP.NET zastąpił WCF?
Nie jest prawdą, że interfejs API sieci Web ASP.NET zastąpił WCF. W rzeczywistości jest to inny sposób budowania usług innych niż SOAP, tj. Zwykły ciąg XML lub JSON.
5) Jakie są zalety interfejsu API sieci Web?
Zalety Web API to:
- OData
- Filtry
- Negocjacje treści
- Self-Hosting
- Wytyczanie
- Model Bindings
6) Jakie są główne typy zwrotów obsługiwane w interfejsie Web API?
Akcja kontrolera interfejsu API sieci Web może zwracać następujące wartości:
- Void - Zwróci pustą zawartość
- HttpResponseMessage - Konwertuje odpowiedź na wiadomość HTTP.
- IHttpActionResult - wewnętrznie wywołuje ExecuteAsync, aby utworzyć HttpResponseMessage
- Inne typy - możesz zapisać serializowaną wartość zwracaną w treści odpowiedzi
7) Który protokół obsługuje interfejs API sieci Web?
Aplikacja internetowa obsługuje protokół HTTP.
8) Która platforma .NET obsługuje Web API?
NET 4.0 i nowsze wersje obsługują internetowy interfejs API.
9) Interfejs API sieci Web korzysta z której z poniższych bibliotek typu open source do serializacji JSON?
Interfejs API sieci Web używa biblioteki Json.NET do serializacji JSON.
10) Domyślnie interfejs API sieci Web wysyła odpowiedź HTTP, z którym z poniższych kodów stanu dla wszystkich niewyłapanych wyjątków?
500 wewnętrzny błąd serwera
11) Jaka jest największa wada „innych typów zwrotów” w interfejsie Web API?
Największą wadą tego podejścia jest to, że nie można bezpośrednio zwrócić kodu błędu, takiego jak błąd 404.
12) Jak tworzysz HtmlResponseMessage?
Oto sposób konstruowania, aby to zrobić,
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) Co to jest routing interfejsu API sieci Web?
Routing jest dopasowywaniem wzorców, podobnie jak w MVC.
Wszystkie trasy są rejestrowane w tabelach tras.
Na przykład:
Routes.MapHttpRoute(Name: "ExampleWebAPIRoute",routeTemplate: “api/{controller}/{id}defaults: new { id = RouteParameter.Optional}
14) Co to jest SOAP?
SOAP to format komunikatów XML używany w interakcjach z usługami WWW. Pozwala na wysyłanie wiadomości przez HTTP lub JMS, ale można używać innych protokołów transportowych. Jest to również protokół przesyłania wiadomości oparty na języku XML, służący do wymiany informacji między komputerami.
15) Jakie są zalety korzystania z REST w interfejsie API sieci Web?
REST służy do wykonywania mniejszej liczby transferów danych między klientem a serwerem, co czyni go idealnym do wykorzystania w aplikacjach mobilnych. Interfejs API sieci Web obsługuje również protokół HTTP. Dlatego przywraca tradycyjny sposób komunikacji z czasownikami HTTP.
16) W jaki sposób możemy używać interfejsu API sieci Web z formularzem sieciowym ASP.NET?
Interfejs API sieci Web może być używany z formularzem sieci Web ASP.NET
Można to wykonać w trzech prostych krokach:
- Utwórz kontroler Web API,
- Dodaj tabelę routingu do metody Application_Start pliku Global.sax
- Następnie musisz wykonać metodę jQuery AJAX Call to Web API i pobrać dane.
17) W jaki sposób można ograniczyć dostęp do internetowego interfejsu API do określonego zlecenia HTTP?
Programowanie atrybutów odgrywa ważną rolę. Łatwo jest ograniczyć dostęp do metody ASP.NET Web API, która ma być wywoływana przy użyciu określonej metody HTTP.
18) Czy można używać interfejsu API sieci Web z formularzem sieciowym ASP.NET?
Tak, jest możliwe użycie Web API z formularzem internetowym ASP.Net. Ponieważ jest dołączony do platformy ASP.NET MVC. Można go jednak używać z formularzem sieci Web ASP.NET.
19) Jak można przypisać nazwę aliasu dla akcji ASP.NET Web API?
Nazwę aliasu dla akcji Web API możemy nadać tak samo jak w przypadku ASP.NET MVC używając atrybutu „ActionName” w następujący sposób:
[HttpPost][ActionName("SaveStudentInfo")]public void UpdateStudent(Student aStudent){StudentRepository.AddStudent(aStudent);}
20) Jakie jest znaczenie TestApi?
TestApi to biblioteka narzędzi API. Korzystając z tej biblioteki, programista testujący może tworzyć narzędzia testowe i testy automatyczne dla aplikacji .NET przy użyciu struktury danych i algorytmów.
21) Wyjaśnij filtry wyjątków?
Zostanie wykonany, gdy wyjątki zostaną nieobsłużone i wyrzucone z metody kontrolera. Przyczyną wyjątku może być wszystko. Filtry wyjątków zaimplementują interfejs „IExceptionFilter”.
22) Jak możemy zarejestrować filtr wyjątków od akcji?
Możemy zarejestrować wyjątek od akcji za pomocą następującego kodu:
[NotImplExceptionFilter]public TestCustomer GetMyTestCustomer(int custid){//write the code}
23) Jak można zwrócić widok z metody ASP.NET Web API?
Nie, nie możemy zwrócić widoku z metody ASP.NET Web API. Interfejs API sieci Web tworzy usługi HTTP, które renderują surowe dane. Jednak jest to również możliwe w aplikacji ASP.NET MVC.
24) Jak globalnie zarejestrować filtr wyjątków?
Możliwe jest globalne zarejestrowanie filtru wyjątków przy użyciu następującego kodu:
GlobalConfiguration.Configuration.Filters.Add (new
MyTestCustomerStore.NotImplExceptionFilterAttribute ());
25) Wyjaśnij, czym jest ODPOCZYNEK i ODPORNY?
REST reprezentuje REpresentational State Transfer; jest to całkowicie nowy aspekt pisania aplikacji internetowej.
RESTFUL: Termin napisany przez zastosowanie koncepcji architektonicznych REST nazywa się usługami RESTful. Skupia się na zasobach systemowych i sposobie przesyłania stanu zasobów za pośrednictwem protokołu HTTP.
26) Podaj mi jeden przykład routingu internetowego interfejsu 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) Jak radzić sobie z błędami w internetowym interfejsie API?
W interfejsie API sieci Web dostępnych jest kilka klas do obsługi błędów. Są to HttpError, Exception Filters, HttpResponseException i Registering Exception Filters.
28) Jakie nowe funkcje zawiera ASP.NET Web API 2.0?
Najnowsze funkcje platformy ASP.NET Web API framework v2.0 są następujące:
- Routing atrybutów
- Udostępnianie zasobów między źródłami
- Uwierzytelnianie zewnętrzne
- Otwórz interfejs sieciowy NET
- HttpActionResult
- Web API OData
29) Jak można ograniczyć metody dostępu do określonych zleceń HTTP w interfejsie Web API?
Za pomocą atrybutów (takich jak czasowniki HTTP) można zaimplementować ograniczenia dostępu w Web API.
Możliwe jest zdefiniowanie czasowników HTTP jako atrybutu ograniczającego dostęp. Przykład:
[HttpPost]public void Method1(Class obj){//logic
30) Jak przekazać wiele typów złożonych w interfejsie API sieci Web?
Dwie metody przekazywania złożonych typów w interfejsie API sieci Web -
Korzystanie z tablicy ArrayList i Newtonsoft
31) Napisz kod do przekazywania ArrayList w interfejsie API sieci 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) Nazwij narzędzia lub interfejs API do tworzenia lub testowania internetowego interfejsu API?
Narzędzia do testowania usług internetowych dla interfejsów REST API obejmują:
- Jersey API
- CFX
- Oś
- Restlet
33) Co to jest REST?
REST to styl architektoniczny. Posiada zdefiniowane wytyczne dotyczące tworzenia usług, które są skalowalne. REST używany z protokołem HTTP przy użyciu jego czasowników GET, PUT, POST i DELETE.
34) Jak przeprowadzić testy jednostkowe Web API?
Test jednostkowy możemy wykonać za pomocą narzędzi Web API, takich jak Fiddler.
Oto kilka ustawień, które należy wykonać, jeśli używasz
Fiddler -Komponuj kartę -> Wprowadź nagłówki żądania -> Wprowadź treść żądania i wykonaj
35) Jak możemy ograniczyć dostęp do metod z określonymi zleceniami HTTP w Web API?
W przypadku tej funkcji szeroko stosuje się programowanie atrybutów. Interfejs API sieci Web umożliwia również ograniczenie dostępu do metod wywołujących za pomocą określonych czasowników HTTP. Możliwe jest również zdefiniowanie czasowników HTTP jako atrybutu zamiast metody.
36) Jakie jest zastosowanie DelegatingHandler?
DelegatingHandler jest używany w interfejsie API sieci Web do reprezentowania programów obsługi komunikatów przed routingiem.
37) Jak możemy zarejestrować filtr wyjątków od akcji?
Możemy zarejestrować filtr wyjątków od akcji za pomocą następującego kodu
[NotImplExceptionFilter]public TestCust GetMyTestCust (int custno){//write the code}
38) Powiedz mi fragment kodu, aby pokazać, jak możemy zwrócić błędy 404 z HttpError?
Kod zwracający błąd 404 z HttpError
string message = string.Format („TestCustomer id = {0} not found”, customerid);
return Request.CreateErrorResponse (HttpStatusCode.NotFound, komunikat);
39) Wyjaśnij fragment kodu, aby zarejestrować filtry wyjątków z kontrolera?
[NotImplExceptionFilter]public class TestCustController : Controller{//Your code goes here}
40) Web API obsługuje który protokół?
Aplikacja internetowa obsługuje protokół HTTP
41) Która z poniższych platform .NET obsługuje interfejs API sieci Web?
Interfejs API sieci Web jest obsługiwany przez wersję NET 4.0
42) Interfejs API sieci Web używa biblioteki do serializacji JSON?
Interfejs API sieci Web używa biblioteki Json.NET do serializacji JSON.
43) Domyślnie interfejs API sieci Web wysyła odpowiedź HTTP, z którym z poniższych kodów stanu dla wszystkich niewyłapanych wyjątków?
500 wewnętrzny błąd serwera
44) Wyjaśnij metodę obsługi błędów przy użyciu HttpError w interfejsie API sieci Web?
W WEB API HttpError służy do zgłaszania informacji o błędzie w treści odpowiedzi. Razem z tym można również użyć metody „CreateErrorResponse”, która jest metodą rozszerzającą zdefiniowaną w „HttpRequestMessageExtension”.
45) Jak możemy globalnie zarejestrować filtr wyjątków?
Możemy zarejestrować filtr wyjątków globalnie za pomocą następującego kodu:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Jak radzić sobie z błędami w Web API?
W interfejsie API sieci Web dostępnych jest kilka klas do obsługi błędów. Są to HttpError, HttpResponseException, Exception Filters, Registering Exception Filters.
47) Jaka jest korzyść z WebAPI w porównaniu z WCF?
Usługi WCF używają protokołu SOAP, podczas gdy protokół HTTP nigdy nie używa protokołu SOAP. Dlatego usługi WebAPI są lekkie, ponieważ nie używa się protokołu SOAP. Zmniejsza również ilość danych, które są przesyłane w celu wznowienia usługi. Co więcej, nigdy nie wymaga zbyt dużej konfiguracji. W związku z tym klient może współdziałać z usługą przy użyciu zleceń HTTP.
48) Różnice stanów między MVC i WebAPI
Framework MVC jest używany do tworzenia aplikacji, które mają interfejs użytkownika. W tym celu widoki mogą służyć do budowania interfejsu użytkownika.
WebAPI służy do tworzenia usług HTTP. Inne aplikacje można również nazwać metodami WebAPI do pobierania tych danych.
49) Kto może korzystać z WebAPI?
WebAPI może być używane przez dowolnego klienta obsługującego czasowniki HTTP, takie jak GET, PUT, DELETE, POST. Ponieważ usługi WebAPI nie wymagają żadnej konfiguracji, są bardzo łatwe do wykorzystania przez każdego klienta. Naruszenie, nawet urządzenia przenośne, takie jak urządzenia mobilne, mogą z łatwością korzystać z WebAPI, co jest z pewnością największą zaletą tej technologii.
50) Jak możemy się upewnić, że interfejs API sieci Web zwraca tylko dane JSON?
Aby serializować interfejs API sieci Web do formatu JSON i zwraca tylko dane JSON. W tym celu należy dodać następujący kod w klasie WebApiConfig.cs w dowolnym projekcie interfejsu API sieci Web MVC:
//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));123//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))