Warum brauchen wir Web-API in MVC? Was ist der Nachteil in einer erholsamen api in mvc?

8

Ich bin neu in ASP.NET Web API. Kann mir bitte jemand sagen

  • Warum brauchen wir Web API?
  • Wie unterscheidet es sich von Rest voll api von MVC?
  • Wann sollte MVC4 web api verwendet werden?
  • Was ist erholsame api in MVC
SivaRajini 16.03.2013, 07:36
quelle

3 Antworten

12

WebAPI basiert auf MVC, hat jedoch einige feine Unterschiede. Sie müssen verstehen, dass WebAPI eine separate Sache von MVC ist und MVC nicht erfordert. Sie können WebAPI separat installieren, und Sie können es aus den Standard-MVC-Vorlagen deinstallieren.

Es stimmt, MS hätte WebAPI direkt in die MVC-Controller einbauen können, aber sie haben sich dafür entschieden, API-Controller von MVC-Controllern getrennt zu halten, weil sie wirklich unterschiedliche Möglichkeiten haben, mit Anfragen und Antworten umzugehen.

Beispiele für Dinge, die Sie in WebAPI tun können, die Sie nicht (oder zumindest nicht so einfach) in MVC verwenden können:

  • Inhalt Verhandlung
    • Dies ermöglicht dem aufrufenden Client, das Format auszuwählen, in dem Daten zurückgegeben werden, z. B. XML oder JSON.
  • OData-Unterstützung
    • Dadurch kann der Aufrufer Ergebnisse auf dem Server "filtern", ohne dass die Servicemethode diese spezifisch unterstützen muss. Wenn Sie beispielsweise die Ergebnisse nach dem Vornamen sortieren möchten, können Sie einfach die OData-Abfrageparameter angeben

WebAPI bietet eine Menge Leistung für den Umgang mit Datenergebnissätzen. MVC bietet diese Art von Funktionalität nicht.

Sie würden dazu neigen, WebAPI für Dinge wie Ajax-Anfragen oder Web-Service-basierte Anfragen zu verwenden, die nicht die Komplexität von WCF erfordern.

RESTful-APIs sind nicht spezifisch für MVC oder WebAPI. Sie sind einfach eine Philosophie dafür, wie Sie Ihre HTTP-Anfragen in einem Dienst entwerfen. Es gibt wirklich eine Menge davon, aber ich werde nicht darauf eingehen.

    
Erik Funkenbusch 16.03.2013, 08:14
quelle
1

WCF-Team fusionierte bei Microsoft mit MVC-Team. WCF geht nicht weg, aber für einen einfachen RESTFUL-Service-Aufruf war der MVC-Controller ein Spiel, das im Himmel gemacht wurde, und die Änderung daran ermöglichte eine sehr einfache Web-API.

Während viele von uns WCF als relativ einfach empfinden, gibt es viele, die es fürchten und / oder keine Zeit haben, es zu lernen, also a. benutze immer noch ASMX, b. noch nie angenommene Dienste, oder NOW mit Web API, sind c. Sehr aufgeregt, dass sie sehr leicht mit erholsamen Web-Diensten aufstehen können.

Es geht also wirklich um Komfort, Anpassung, Veränderungsfähigkeit und die Web-API hat ihren Platz. Es kann WCF nicht ersetzen, da WCF erweiterte Konfigurationen mit allen Bindungen und SOAP-Fähigkeit und nicht nur REST besitzt, was für viele Anwendungen noch SOAP-Protokolle erfordern.

    
Tom Stickel 16.03.2013 07:49
quelle
1

MVC ist optimiert, um Informationen an einen Webbrowser-Client zu liefern. Wenn es sich bei Ihrem Kunden um etwas anderes handelt, wird Ihnen das Web-API Ihr Leben auf lange Sicht erleichtern.

Web-API ist eine von Grund auf neu schreiben des Web-Stacks. Im Kern ist es viel sauberer und flexibler als die 12 Jahre alte Infrastruktur, auf der MVC aufgebaut ist. Web-API hat noch nicht die gleiche Ebene von Werkzeugen, Add-ons, Plugins wie MVC, aber das wird kommen.

    
Darrel Miller 16.03.2013 16:41
quelle