Ich arbeite an einer .net Webanwendung in c # und ich brauche einen REST-Dienst von einer dritten Partei (sie verwenden WCF nicht). Ich komme aus dem Hintergrund der Verwendung von Web-Service-Aufrufen, wo eine WSDL verfügbar war und Visual Studio den gesamten zugrunde liegenden Code erstellen würde, und dann kann ich loslegen.
Gibt es kein Werkzeug oder Framework, das dieses Verhalten bis zu einem gewissen Grad simulieren kann? Ich verstehe, dass es ohne einen Vertrag kein Tool gibt, um zu wissen, was zu erwarten ist, aber ich würde meinen, ich könnte einen Assistenten durchlaufen, wo ich Parameter für einen REST-Aufruf zur Verfügung stelle und dann dem Assistenten helfen, die Details der Antwort auszuarbeiten. Am Ende des Prozesses hätte ich eine Reihe von Objekten, die die REST-API ähnlich wie der Webdienst modellieren.
Ich weiß, dass REST und JSON ihnen einige große Vorteile bieten, aber das Fehlen eines standardmäßigen Standardvertrags, der eine automatisierte Code-Generierung ermöglicht, scheint ein echter Rückschritt zu sein.
Fehle ich etwas offensichtlich oder ist das nur der aktuelle Stand der Dinge beim REST in .NET? Muss ich für jede neue API wirklich einen Kesselblech-Code schreiben?
Sie können RestSharp verwenden, um auf die REST-API zuzugreifen. Ich habe ein Beispiel gegeben, einschließlich eines Ansatzes bei der Verwendung von AutoMapper, um von einem Datentransferobjekt zu einem Domänenmodell auf diese SO Frage .
Ich würde vorschlagen, dass Sie sich die WCF REST-Starterkit-Alle-Seite ansehen.
Laden Sie hier herunter: WCF REST Starter Kit Vorschau 2
Dokumentation hier: WCF Rest Starter Kit GUIDE Scrollen Sie nach unten zu "Consuming RESTful Services with HttpClient" "
Am Ende werden Sie den ReadAsJasonDataContract verwenden, z. B.
%Vor%Dies scheint ein vernünftiges How-To zu sein How-2 auf CodeProject
Wenn Sie ein wenig mehr Hände brauchen und mehr Leistung erzielen möchten, dann ist es keine gute Option, eigene Webanfragen zu stellen und JSON.NET für die Serialisierung zu verwenden. JSON.Net (Offenlegung, dass JSON.Net von einem Kollegen geschrieben wurde)