PDF Herunterladen
1) Was ist eine Web-API?
WebAPI ist ein Framework, mit dem Sie HTTP-Dienste erstellen / entwickeln können.
2) Warum ist eine Web-API erforderlich? Ist es möglich, RESTful-Services mit WCF zu verwenden?
Ja, wir können mit WCF weiterhin RESTful-Services entwickeln. Es gibt jedoch zwei Hauptgründe, die Benutzer dazu auffordern, die Web-API anstelle von RESTful-Diensten zu verwenden.
- Die Web-API erhöht den TDD-Ansatz (Test Data Driven) bei der Entwicklung von RESTful-Diensten.
- Wenn wir RESTful-Services in WCF entwickeln möchten, benötigen Sie sicherlich viele Konfigurationseinstellungen, URI-Vorlagen, Verträge und Endpunkte für die Entwicklung von RESTful-Services mithilfe der Web-API.
3) Warum Web-API auswählen?
- Es wird verwendet, um einfache, nicht SOAP-basierte HTTP-Dienste zu erstellen
- Es ist auch eine einfache Methode zum Erstellen mit der Web-API. Mit WCF REST Services
- Es basiert auf HTTP und ist auf REST-vollständige Weise einfach zu definieren, verfügbar zu machen und zu konsumieren.
- Es ist eine leichte Architektur und ideal für Geräte mit begrenzter Bandbreite wie Smartphones.
4) Ist es richtig, dass die ASP.NET-Web-API WCF ersetzt hat?
Es ist überhaupt nicht wahr, dass die ASP.NET-Web-API WCF ersetzt hat. Tatsächlich ist dies eine andere Möglichkeit, nicht SOAP-basierte Dienste zu erstellen, dh einfache XML- oder JSON-Zeichenfolgen.
5) Was sind die Vorteile der Web-API?
Vorteile der Web-API sind:
- OData
- Filter
- Inhaltsverhandlung
- Selbsthosting
- Routing
- Modellbindungen
6) Welche Hauptrückgabetypen werden in der Web-API unterstützt?
Eine Web-API-Controller-Aktion kann folgende Werte zurückgeben:
- Nichtig - Es wird leerer Inhalt zurückgegeben
- HttpResponseMessage - Konvertiert die Antwort in eine HTTP-Nachricht.
- IHttpActionResult - Ruft ExecuteAsync intern auf, um eine HttpResponseMessage zu erstellen
- Andere Typen - Sie können den serialisierten Rückgabewert in den Antworttext schreiben
7) Web API unterstützt welches Protokoll?
Web App unterstützt das HTTP-Protokoll.
8) Welches .NET Framework unterstützt die Web-API?
Die Version NET 4.0 und höher unterstützt die Web-API.
9) Welche der folgenden Open-Source-Bibliotheken verwendet die Web-API für die JSON-Serialisierung?
Die Web-API verwendet die Json.NET-Bibliothek für die JSON-Serialisierung.
10) Standardmäßig sendet die Web-API eine HTTP-Antwort mit welchem der folgenden Statuscodes für alle nicht erfassten Ausnahmen?
500 - Interner Serverfehler
11) Was ist der größte Nachteil von "Andere Rückgabetypen" in der Web-API?
Der größte Nachteil dieses Ansatzes besteht darin, dass Sie einen Fehlercode wie 404 error nicht direkt zurückgeben können.
12) Wie konstruieren Sie HtmlResponseMessage?
Das Folgende ist der Weg, um dies zu konstruieren:
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) Was ist Web-API-Routing?
Routing ist Pattern Matching wie in MVC.
Alle Routen sind in Routentabellen registriert.
Zum Beispiel:
Routes.MapHttpRoute(Name: "ExampleWebAPIRoute",routeTemplate: “api/{controller}/{id}defaults: new { id = RouteParameter.Optional}
14) Was ist SOAP?
SOAP ist ein XML-Nachrichtenformat, das in Webdienstinteraktionen verwendet wird. Es ermöglicht das Senden von Nachrichten über HTTP oder JMS, es können jedoch auch andere Transportprotokolle verwendet werden. Es ist auch ein XML-basiertes Messaging-Protokoll für den Informationsaustausch zwischen Computern.
15) Was ist der Vorteil der Verwendung von REST in der Web-API?
REST wird verwendet, um weniger Daten zwischen Client und Server zu übertragen, was es ideal für die Verwendung in mobilen Apps macht. Die Web-API unterstützt auch das HTTP-Protokoll. Daher wird die traditionelle Art der HTTP-Verben für die Kommunikation wieder eingeführt.
16) Wie können wir die Web-API mit ASP.NET Web Form verwenden?
Die Web-API kann mit ASP.NET Web Form verwendet werden
Es kann in drei einfachen Schritten durchgeführt werden:
- Erstellen Sie einen Web-API-Controller.
- Fügen Sie der Application_Start-Methode von Global.sax eine Routing-Tabelle hinzu
- Dann müssen Sie eine jQuery AJAX Call to Web API-Methode durchführen und Daten abrufen.
17) Wie können Sie den Zugriff auf die Web-API auf ein bestimmtes HTTP-Verb beschränken?
Die Attributprogrammierung spielt eine wichtige Rolle. Es ist einfach, den Zugriff auf eine ASP.NET-Web-API-Methode einzuschränken, die mit einer bestimmten HTTP-Methode aufgerufen werden soll.
18) Können Sie die Web-API mit ASP.NET Web Form verwenden?
Ja, es ist möglich, die Web-API mit dem ASP.Net-Webformular zu verwenden. Da es mit ASP.NET MVC Framework gebündelt ist. Es kann jedoch mit ASP.NET Web Form verwendet werden.
19) Wie kann ein Aliasname für die ASP.NET-Web-API-Aktion zugewiesen werden?
Wir können den Aliasnamen für die Web-API-Aktion wie im Fall von ASP.NET MVC angeben, indem wir das Attribut "ActionName" wie folgt verwenden:
[HttpPost][ActionName("SaveStudentInfo")]public void UpdateStudent(Student aStudent){StudentRepository.AddStudent(aStudent);}
20) Was bedeutet TestApi?
TestApi ist eine Dienstprogrammbibliothek von APIs. Mit diesem Bibliothekstester kann der Entwickler mithilfe von Datenstruktur und Algorithmen Testtools und automatisierte Tests für eine .NET-Anwendung erstellen.
21) Ausnahmefilter erklären?
Es wird ausgeführt, wenn Ausnahmen nicht behandelt und von einer Controller-Methode ausgelöst werden. Der Grund für die Ausnahme kann alles sein. Ausnahmefilter implementieren die Schnittstelle "IExceptionFilter".
22) Wie können wir einen Ausnahmefilter aus der Aktion registrieren?
Wir können den Ausnahmefilter aus der Aktion mit folgendem Code registrieren:
[NotImplExceptionFilter]public TestCustomer GetMyTestCustomer(int custid){//write the code}
23) Wie können Sie View von der ASP.NET-Web-API-Methode zurückgeben?
Nein, wir können keine Ansicht von der ASP.NET-Web-API-Methode zurückgeben. Die Web-API erstellt HTTP-Dienste, die Rohdaten rendern. Dies ist jedoch auch in ASP.NET MVC-Anwendungen möglich.
24) Wie registriere ich einen Ausnahmefilter global?
Es ist möglich, Ausnahmefilter global zu registrieren, indem folgender Code verwendet wird:
GlobalConfiguration.Configuration.Filters.Add (neu
MyTestCustomerStore.NotImplExceptionFilterAttribute ());
25) Erklären Sie, was REST und RESTFUL ist.
REST steht für REpresentational State Transfer; Es ist ein völlig neuer Aspekt beim Schreiben einer Web-App.
RESTFUL: Dieser Begriff, der durch Anwendung von REST-Architekturkonzepten geschrieben wurde, wird als RESTful-Services bezeichnet. Es konzentriert sich auf Systemressourcen und darauf, wie der Status der Ressource über das HTTP-Protokoll transportiert werden soll.
26) Geben Sie mir ein Beispiel für Web-API-Routing?
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) Wie können Sie mit Fehlern in der Web-API umgehen?
In der Web-API stehen mehrere Klassen zur Behandlung von Fehlern zur Verfügung. Dies sind HttpError, Ausnahmefilter, HttpResponseException und Registrieren von Ausnahmefiltern.
28) Welche neuen Funktionen bietet ASP.NET Web API 2.0?
Die neuesten Funktionen von ASP.NET Web API Framework v2.0 lauten wie folgt:
- Attribut-Routing
- Herkunftsübergreifende gemeinsame Nutzung von Ressourcen
- Externe Authentifizierung
- Öffnen Sie das Webinterface NET
- HttpActionResult
- Web-API-OData
29) Wie können Sie Zugriffsmethoden auf bestimmte HTTP-Verben in der Web-API beschränken?
Mithilfe von Attributen (wie HTTP-Verben) können Zugriffsbeschränkungen in der Web-API implementiert werden.
Es ist möglich, HTTP-Verben als Attribut zu definieren, um den Zugriff einzuschränken. Beispiel:
[HttpPost]public void Method1(Class obj){//logic
30) Wie können Sie mehrere komplexe Typen in der Web-API übergeben?
Zwei Methoden zum Übergeben der komplexen Typen in der Web-API -
Verwenden von ArrayList- und Newtonsoft-Arrays
31) Schreiben Sie einen Code zum Übergeben von ArrayList in der Web-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) Benennen Sie die Tools oder API zum Entwickeln oder Testen von Web-APIs?
Zu den Testtools für Webdienste für REST-APIs gehören:
- Jersey API
- CFX
- Achse
- Restlet
33) Was ist REST?
REST ist architektonischer Stil. Es wurden Richtlinien für die Erstellung skalierbarer Dienste definiert. REST wird mit dem HTTP-Protokoll unter Verwendung seiner Verben GET, PUT, POST und DELETE verwendet.
34) Wie teste ich die Web-API?
Wir können einen Unit-Test mit Web-API-Tools wie Fiddler durchführen.
Hier sind einige Einstellungen, die Sie vornehmen müssen, wenn Sie verwenden
Fiddler - Registerkarte "Verfassen" -> Anforderungsheader eingeben -> Anforderungshauptteil eingeben und ausführen
35) Wie können wir den Zugriff auf Methoden mit bestimmten HTTP-Verben in der Web-API einschränken?
Die Attributprogrammierung wird häufig für diese Funktionalität verwendet. Die Web-API ermöglicht auch die Einschränkung des Zugriffs auf aufrufende Methoden mithilfe bestimmter HTTP-Verben. Es ist auch möglich, HTTP-Verben als Attribut über Methode zu definieren.
36) Was ist die Verwendung von DelegatingHandler?
DelegatingHandler wird in der Web-API verwendet, um Nachrichtenhandler vor dem Routing darzustellen.
37) Wie können wir einen Ausnahmefilter aus der Aktion registrieren?
Wir können den Ausnahmefilter aus der Aktion mithilfe des folgenden Codes registrieren
[NotImplExceptionFilter]public TestCust GetMyTestCust (int custno){//write the code}
38) Sagen Sie mir das Code-Snippet, um zu zeigen, wie wir 404-Fehler von HttpError zurückgeben können.
Code für die Rückgabe des 404-Fehlers von HttpError
string message = string.Format ("TestCustomer id = {0} nicht gefunden", Kunden-ID);
return Request.CreateErrorResponse (HttpStatusCode.NotFound, message);
39) Erklären Sie das Code-Snippet, um Ausnahmefilter vom Controller zu registrieren.
[NotImplExceptionFilter]public class TestCustController : Controller{//Your code goes here}
40) Web API unterstützt welches Protokoll?
Web App unterstützt das HTTP-Protokoll
41) Welches der folgenden .NET Frameworks unterstützt die Web-API?
Die Web-API wird von der NET 4.0-Version unterstützt
42) Die Web-API verwendet welche Bibliothek für die JSON-Serialisierung?
Die Web-API verwendet die Json.NET-Bibliothek für die JSON-Serialisierung.
43) Standardmäßig sendet die Web-API eine HTTP-Antwort mit welchem der folgenden Statuscodes für alle nicht erfassten Ausnahmen?
500 - Interner Serverfehler
44) Erläutern Sie die Methode zur Behandlung von Fehlern mithilfe von HttpError in der Web-API.
In der WEB-API wird HttpError verwendet, um die Fehlerinformationen in den Antworttext zu werfen. Die Methode "CreateErrorResponse" kann auch zusammen mit dieser Methode verwendet werden. Dies ist eine Erweiterungsmethode, die in "HttpRequestMessageExtension" definiert ist.
45) Wie können wir Ausnahmefilter global registrieren?
Wir können Ausnahmefilter global mit folgendem Code registrieren:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Wie gehe ich mit Fehlern in der Web-API um?
In der Web-API stehen mehrere Klassen zur Behandlung von Fehlern zur Verfügung. Dies sind HttpError, HttpResponseException, Ausnahmefilter und Registrieren von Ausnahmefiltern.
47) Was ist der Vorteil von WebAPI gegenüber WCF?
WCF-Dienste verwenden das SOAP-Protokoll, während HTTP niemals das SOAP-Protokoll verwendet. Aus diesem Grund sind WebAPI-Dienste leichtgewichtig, da SOAP nicht verwendet wird. Es reduziert auch die Daten, die übertragen werden, um den Dienst wieder aufzunehmen. Darüber hinaus benötigt es nie zu viel Konfiguration. Daher kann der Client mithilfe der HTTP-Verben mit dem Dienst interagieren.
48) Zustandsunterschiede zwischen MVC und WebAPI
Das MVC-Framework wird zum Entwickeln von Anwendungen mit Benutzeroberfläche verwendet. Zu diesem Zweck können Ansichten zum Erstellen einer Benutzeroberfläche verwendet werden.
WebAPI wird zum Entwickeln von HTTP-Diensten verwendet. Andere Apps können auch als WebAPI-Methoden zum Abrufen dieser Daten bezeichnet werden.
49) Wer kann WebAPI konsumieren?
WebAPI kann von jedem Client verwendet werden, der HTTP-Verben wie GET, PUT, DELETE, POST unterstützt. Da WebAPI-Dienste keine Konfiguration benötigen, können sie von jedem Client sehr einfach verwendet werden. Selbst tragbare Geräte wie mobile Geräte können problemlos WebAPI verwenden, was sicherlich die größten Vorteile dieser Technologie darstellt.
50) Wie können wir sicherstellen, dass die Web-API nur JSON-Daten zurückgibt?
Damit die Web-API das zurückgebende Objekt in das JSON-Format serialisiert und nur JSON-Daten zurückgibt. Dazu sollten Sie in jedem MVC-Web-API-Projekt den folgenden Code in der Klasse WebApiConfig.cs hinzufügen:
//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));123//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))