RESTful Web Services Tutorial mit REST API Beispiel

Inhaltsverzeichnis:

Anonim

Was sind erholsame Webdienste?

Restful Web Services ist ein leichter, wartbarer und skalierbarer Service, der auf der REST-Architektur basiert. Restful Web Service: Stellen Sie dem aufrufenden Client die API Ihrer Anwendung auf sichere, einheitliche und zustandslose Weise zur Verfügung. Der aufrufende Client kann mithilfe des Restful-Dienstes vordefinierte Vorgänge ausführen. Das zugrunde liegende Protokoll für REST ist HTTP. REST steht für REpresentational State Transfer.

In diesem REST-API-Tutorial lernen Sie:

  • RESTful Schlüsselelemente
  • Erholsame Methoden
  • Warum erholsam?
  • Erholsame Architektur
  • RestFul Prinzipien und Einschränkungen
  • Erstellen Sie Ihren ersten Restful-Webdienst in ASP.NET
  • Ausführen Ihres ersten Restful-Webdienstes
  • Testen Sie Ihren ersten Restful-Webdienst

RESTful Schlüsselelemente

REST-Webdienste haben seit ihrer Einführung einen langen Weg zurückgelegt. Im Jahr 2002 hatte das Webkonsortium die Definition von WSDL- und SOAP-Webdiensten veröffentlicht. Dies bildete den Standard für die Implementierung von Webdiensten.

Im Jahr 2004 veröffentlichte das Webkonsortium auch die Definition eines zusätzlichen Standards namens RESTful. In den letzten Jahren ist dieser Standard sehr beliebt geworden. Und wird von vielen beliebten Websites auf der ganzen Welt verwendet, darunter Facebook und Twitter.

REST ist eine Möglichkeit, auf Ressourcen zuzugreifen, die sich in einer bestimmten Umgebung befinden. Sie könnten beispielsweise einen Server haben, auf dem wichtige Dokumente, Bilder oder Videos gehostet werden. All dies ist ein Beispiel für Ressourcen. Wenn ein Client, beispielsweise ein Webbrowser, eine dieser Ressourcen benötigt, muss er eine Anfrage an den Server senden, um auf diese Ressourcen zuzugreifen. Jetzt definieren REST-Services einen Weg, wie auf diese Ressourcen zugegriffen werden kann.

Die Schlüsselelemente einer RESTful-Implementierung sind folgende:

  1. Ressourcen - Das erste Schlüsselelement ist die Ressource selbst. Angenommen, eine Webanwendung auf einem Server enthält Aufzeichnungen mehrerer Mitarbeiter. Angenommen, die URL der Webanwendung lautet http://demo.guru99.com . Um nun über REST-Services auf eine Mitarbeiterdatensatzressource zugreifen zu können, kann der Befehl http://demo.guru99.com/employee/1 - Dieser Befehl weist den Webserver an, die Details des Mitarbeiters anzugeben, dessen Mitarbeiternummer lautet 1.

  2. Anforderungsverben - Diese beschreiben, was Sie mit der Ressource tun möchten. Ein Browser gibt ein GET-Verb aus, um den Endpunkt anzuweisen, an dem Daten abgerufen werden sollen. Es gibt jedoch viele andere Verben, einschließlich POST, PUT und DELETE. Im Beispiel des Beispiels http://demo.guru99.com/employee/1 gibt der Webbrowser tatsächlich ein GET-Verb aus, weil er die Details des Mitarbeiterdatensatzes abrufen möchte.

  3. Anforderungsheader - Dies sind zusätzliche Anweisungen, die mit der Anforderung gesendet werden. Diese können die Art der erforderlichen Antwort oder die Autorisierungsdetails definieren.

  4. Anfragetext - Daten werden mit der Anforderung gesendet. Daten werden normalerweise in der Anforderung gesendet, wenn eine POST-Anforderung an die REST-Webdienste gesendet wird. Bei einem POST-Aufruf teilt der Client den REST-Webdiensten tatsächlich mit, dass er dem Server eine Ressource hinzufügen möchte. Daher würde der Anforderungshauptteil die Details der Ressource haben, die dem Server hinzugefügt werden muss.

  5. Antworttext - Dies ist der Hauptteil der Antwort. Wenn wir in unserem RESTful-API-Beispiel den Webserver über die Anforderung http://demo.guru99.com/employee/1 abfragen , gibt der Webserver möglicherweise ein XML-Dokument mit allen Details des Mitarbeiters in der Antwort zurück Körper.

  6. Antwortstatuscodes - Diese Codes sind die allgemeinen Codes, die zusammen mit der Antwort vom Webserver zurückgegeben werden. Ein Beispiel ist der Code 200, der normalerweise zurückgegeben wird, wenn beim Zurückgeben einer Antwort an den Client kein Fehler auftritt.

Erholsame Methoden

Das folgende Diagramm zeigt hauptsächlich alle Verben (POST, GET, PUT und DELETE) und ein REST-API-Beispiel dafür, was sie bedeuten würden.

Nehmen wir an, dass am Standort ein RESTful-Webdienst definiert ist. http://demo.guru99.com/employee . Wenn der Client eine Anfrage an diesen Webdienst stellt, kann er eines der normalen HTTP-Verben von GET, POST, DELETE und PUT angeben. Nachfolgend sehen Sie, was passieren würde, wenn die entsprechenden Verben vom Client gesendet würden.

  1. POST - Dies wird verwendet, um mithilfe des RESTful-Webdienstes einen neuen Mitarbeiter zu erstellen
  2. GET - Dies wird verwendet, um eine Liste aller Mitarbeiter zu erhalten, die den RESTful-Webdienst verwenden
  3. PUT - Dies wird verwendet, um alle Mitarbeiter zu aktualisieren, die den RESTful-Webdienst verwenden
  4. LÖSCHEN - Dies wird verwendet, um alle Mitarbeiter zu löschen, die die RESTful-Services verwenden

Lassen Sie uns einen Blick aus der Perspektive eines einzelnen Datensatzes werfen. Angenommen, es gab einen Mitarbeiterdatensatz mit der Mitarbeiternummer 1.

Die folgenden Aktionen hätten ihre jeweilige Bedeutung.

  1. POST - Dies ist nicht anwendbar, da wir Daten von Mitarbeiter 1 abrufen, die bereits erstellt wurden.
  2. GET - Dies wird verwendet, um die Details des Mitarbeiters mit Mitarbeiter Nr. 1 über den RESTful-Webdienst abzurufen
  3. PUT - Dies wird verwendet, um die Details des Mitarbeiters mit Mitarbeiter Nr. 1 über den RESTful-Webdienst zu aktualisieren
  4. LÖSCHEN - Hiermit werden die Details des Mitarbeiters mit der Mitarbeiternummer 1 gelöscht

Warum erholsam?

Restful wurde hauptsächlich aus folgenden Gründen populär:

  1. Heterogene Sprachen und Umgebungen - Dies ist einer der grundlegenden Gründe, die wir auch für SOAP gesehen haben.
  • Es ermöglicht Webanwendungen, die auf verschiedenen Programmiersprachen basieren, miteinander zu kommunizieren
  • Mithilfe von Restful-Diensten können sich diese Webanwendungen in verschiedenen Umgebungen befinden, einige unter Windows und andere unter Linux.

Aber am Ende sollte das Endergebnis unabhängig von der Umgebung immer das gleiche sein, in dem sie miteinander sprechen können sollten. Restful Web Services bieten diese Flexibilität für Anwendungen, die auf verschiedenen Programmiersprachen und Plattformen basieren, um miteinander zu kommunizieren.

Das folgende Bild zeigt ein Beispiel für eine Webanwendung, für die eine Kommunikation mit anderen Anwendungen wie Facebook, Twitter und Google erforderlich ist.

Wenn eine Client-Anwendung mit Websites wie Facebook, Twitter usw. arbeiten müsste, müsste sie wahrscheinlich wissen, auf welcher Sprache Facebook, Google und Twitter basieren und auf welcher Plattform sie aufgebaut sind.

Auf dieser Grundlage können wir den Schnittstellencode für unsere Webanwendung schreiben, dies könnte sich jedoch als Albtraum erweisen.

Facebook, Twitter und Google stellen ihre Funktionen in Form von Restful-Webdiensten zur Verfügung. Auf diese Weise kann jede Clientanwendung diese Webdienste über REST aufrufen.

  1. Das Ereignis der Geräte - Heutzutage muss alles auf mobilen Geräten funktionieren, egal ob es sich um mobile Geräte, Notebooks oder sogar Autosysteme handelt.

    Können Sie sich vorstellen, wie viel Aufwand erforderlich ist, um Anwendungen auf diesen Geräten zu codieren, um mit normalen Webanwendungen zu kommunizieren? Wiederum können Restful-APIs diesen Job vereinfachen, da Sie, wie in Punkt 1 erwähnt, wirklich nicht wissen müssen, welche Schicht dem Gerät zugrunde liegt.

  2. Endlich ist das Ereignis der Cloud - Alles bewegt sich in die Cloud. Anwendungen werden langsam auf Cloud-basierte Systeme wie Azure oder Amazon umgestellt. Azure und Amazon bieten viele APIs, die auf der Restful-Architektur basieren. Daher müssen Anwendungen jetzt so entwickelt werden, dass sie mit der Cloud kompatibel sind. Da alle Cloud-basierten Architekturen nach dem REST-Prinzip arbeiten, ist es sinnvoller, Webdienste auf der REST-Service-basierten Architektur zu programmieren, um Cloud-basierte Services optimal zu nutzen.

Erholsame Architektur

Eine Anwendung oder Architektur, die als RESTful oder REST-Stil betrachtet wird, weist die folgenden Merkmale auf

  1. Status und Funktionalität sind in verteilte Ressourcen unterteilt. Dies bedeutet, dass auf jede Ressource über die normalen HTTP-Befehle GET, POST, PUT oder DELETE zugegriffen werden kann. Wenn jemand eine Datei von einem Server erhalten möchte, sollte er in der Lage sein, die GET-Anforderung auszugeben und die Datei abzurufen. Wenn sie eine Datei auf dem Server ablegen möchten, sollten sie entweder die POST- oder die PUT-Anforderung ausgeben können. Und schließlich, wenn sie eine Datei vom Server löschen wollten, haben sie ein Problem mit der DELETE-Anforderung.
  2. Die Architektur ist Client / Server, zustandslos, geschichtet und unterstützt das Caching -
  • Client-Server ist die typische Architektur, bei der der Server der Webserver sein kann, auf dem die Anwendung gehostet wird, und der Client so einfach wie der Webbrowser sein kann.
  • Statuslos bedeutet, dass der Status der Anwendung in REST nicht beibehalten wird.

    Wenn Sie beispielsweise eine Ressource mit dem Befehl DELETE von einem Server löschen, können Sie nicht erwarten, dass die Löschinformationen an die nächste Anforderung übergeben werden.

    Um sicherzustellen, dass die Ressource gelöscht wird, müssen Sie die GET-Anforderung ausgeben. Die GET-Anforderung wird verwendet, um zuerst alle Ressourcen auf dem Server abzurufen. Danach müsste man sehen, ob die Ressource tatsächlich gelöscht wurde.

RESTFul Prinzipien und Einschränkungen

Die REST-Architektur basiert auf einigen Merkmalen, die im Folgenden erläutert werden. Jeder RESTful-Webdienst muss die folgenden Merkmale erfüllen, damit er als RESTful bezeichnet werden kann. Diese Eigenschaften werden auch als Entwurfsprinzipien bezeichnet, die bei der Arbeit mit RESTful-basierten Diensten befolgt werden müssen.

  1. RESTFul Client-Server

Dies ist die grundlegendste Anforderung einer REST-basierten Architektur. Dies bedeutet, dass der Server über einen RESTful-Webdienst verfügt, der dem Client die erforderlichen Funktionen bereitstellt. Der Client sendet eine Anfrage an den Webdienst auf dem Server. Der Server würde entweder die Anforderung ablehnen oder die Anforderungen erfüllen und dem Client eine angemessene Antwort geben.

  1. Staatenlos

Das Konzept der Statuslosigkeit bedeutet, dass es Sache des Clients ist, sicherzustellen, dass alle erforderlichen Informationen dem Server zur Verfügung gestellt werden. Dies ist erforderlich, damit der Server die Antwort entsprechend verarbeiten kann. Der Server sollte zwischen den Anforderungen des Clients keinerlei Informationen verwalten. Es ist eine sehr einfache unabhängige Frage-Antwort-Sequenz. Der Client stellt eine Frage, der Server beantwortet sie entsprechend. Der Kunde wird eine andere Frage stellen. Der Server kann sich nicht an das vorherige Frage-Antwort-Szenario erinnern und muss die neue Frage unabhängig beantworten.

  1. Zwischenspeicher

Das Cache-Konzept soll bei dem im letzten Punkt beschriebenen Problem der Staatenlosigkeit helfen. Da jede Server-Client-Anforderung von Natur aus unabhängig ist, fragt der Client den Server manchmal erneut nach derselben Anforderung. Dies ist, obwohl es bereits in der Vergangenheit danach gefragt hatte. Diese Anfrage wird an den Server gesendet und der Server gibt eine Antwort. Dies erhöht den Verkehr über das Netzwerk. Der Cache ist ein auf dem Client implementiertes Konzept zum Speichern von Anforderungen, die bereits an den Server gesendet wurden. Wenn also dieselbe Anforderung vom Client gegeben wird, anstatt zum Server zu gehen, wird er in den Cache geleitet und erhält die erforderlichen Informationen. Dies spart die Menge des Netzwerkverkehrs vom Client zum Server.

  1. Schichtsystem

Das Konzept eines Schichtsystems besteht darin, dass jede zusätzliche Schicht, z. B. eine Middleware-Schicht, zwischen dem Client und dem tatsächlichen Server eingefügt werden kann, auf dem sich der RESTFul-Webdienst befindet (auf der Middleware-Schicht wird die gesamte Geschäftslogik erstellt. Dies kann ein zusätzlicher Dienst sein erstellt, mit dem der Client interagieren kann, bevor er den Webdienst aufruft.). Die Einführung dieser Ebene muss jedoch transparent sein, damit die Interaktion zwischen Client und Server nicht gestört wird.

  1. Schnittstelle / Einheitlicher Vertrag

Dies ist die zugrunde liegende Technik, wie RESTful-Webdienste funktionieren sollten. RESTful funktioniert grundsätzlich auf der HTTP-Webebene und verwendet die folgenden Schlüsselverben, um mit Ressourcen auf dem Server zu arbeiten

  • POST - Zum Erstellen einer Ressource auf dem Server
  • GET - Zum Abrufen einer Ressource vom Server
  • PUT - Zum Ändern oder Aktualisieren des Status einer Ressource
  • LÖSCHEN - Zum Entfernen oder Löschen einer Ressource vom Server

Erstellen Sie Ihren ersten Restful-Webdienst in ASP.NET

In diesem REST-API-Tutorial erfahren Sie, wie Sie einen Restful-Webdienst in ASP.NET erstellen:

Webdienste können in verschiedenen Sprachen erstellt werden. Viele integrierte Entwicklungsumgebungen können zum Erstellen von REST-basierten Diensten verwendet werden.

In diesem RESTful-API-Beispiel erstellen wir unsere REST-Anwendung in .Net mit Visual Studio. In unserem Beispiel emulieren wir für Restful-Webdienste das folgende REST-Dienstbeispiel.

Wir werden einen Restful-Webdienst haben, der mit den folgenden Daten funktioniert.

Der folgende Datensatz stellt ein REST-API-Beispiel für ein Unternehmen dar, das die auf der Tutorial-ID basierenden Lernprogramme verfügbar macht.

Tutorialid TutorialName
0 Arrays
1 Warteschlangen
2 Stapel

In unserem Beispiel für ein REST-API-Tutorial werden wir die folgenden Restful-Verben implementieren.

  1. GET-Lernprogramm - Wenn ein Client diese Restful-API aufruft, erhält er den gesamten Satz von Lernprogrammen, die über den Webdienst verfügbar sind.
  2. GET Tutorial / Tutorialid - Wenn ein Client diese Restful-API aufruft, erhält er den Namen des Tutorials basierend auf der vom Client gesendeten Tutorialid.
  3. POST-Lernprogramm / Lernprogrammname - Wenn ein Client diese Restful-API aufruft, sendet der Client eine Anforderung zum Einfügen eines Lernprogrammnamens. Der Webdienst fügt dann den Namen des übermittelten Lernprogramms zur Sammlung hinzu.
  4. DELETE Tutorial / Tutorialid - Wenn ein Client diese Restful-API aufruft, sendet der Client eine Anforderung zum Löschen eines Tutorialnamens basierend auf der Tutorialid. Der Webdienst löscht dann den übermittelten Namen des Lernprogramms aus der Sammlung.

Führen Sie die folgenden Schritte in diesem RESTful-API-Lernprogramm aus, um unsere ersten RESTful-Webdienste zu erstellen, die die obige Implementierung ausführen.

Schritt 1) Der erste Schritt besteht darin, eine leere Asp.Net-Webanwendung zu erstellen. Klicken Sie in Visual Studio 2013 auf die Menüoption Datei-> Neues Projekt.

Sobald Sie auf die Option Neues Projekt klicken, zeigt Visual Studio ein weiteres Dialogfeld an, in dem Sie den Projekttyp auswählen und die erforderlichen Details des Projekts angeben können. Dies wird im nächsten Schritt dieses RESTful API-Tutorials erläutert

Schritt 2) In diesem Schritt

  1. Stellen Sie sicher, dass Sie zuerst die C # -Webvorlage für RESTful-Webdienste der ASP.NET-Webanwendung auswählen. Das Projekt muss von diesem Typ sein, um ein Webdienstprojekt zu erstellen. Wenn Sie diese Optionen auswählen, führt Visual Studio die erforderlichen Schritte aus, um die erforderlichen Dateien hinzuzufügen, die für jede webbasierte Anwendung erforderlich sind.
  2. Geben Sie einen Namen für Ihr Projekt an, der in unserem Fall als "Webservice.REST" angegeben wurde.
  3. Stellen Sie dann sicher, dass Sie einen Speicherort angeben, an dem die Projektdateien gespeichert werden.

Anschließend wird die in Ihrem Lösungs-Explorer in Visual Studio 2013 erstellte Projektdatei angezeigt.

Schritt 3) Der nächste Schritt besteht darin, die Webdienstdatei zu erstellen, die den RESTful-Webdienst enthalten soll

  1. Klicken Sie zunächst mit der rechten Maustaste auf die Projektdatei, wie unten gezeigt
  1. In diesem Schritt
    1. Klicken Sie mit der rechten Maustaste auf die Projektdatei
    2. Wählen Sie die Option "Hinzufügen-> Neues Element".

In dem angezeigten Dialogfeld müssen Sie Folgendes ausführen

  1. Wählen Sie die Option WCF-Dienst (Ajax-fähig). - Wählen Sie eine Datei dieses Typs aus. Dadurch fügt Visual Studio einen grundlegenden Code hinzu, mit dem Sie einen RESTful-Webdienst erstellen können. WCF steht für Windows Communication Foundation. WCF ist eine Bibliothek für Anwendungen verschiedener Plattformen oder derselben Plattform zur Kommunikation über verschiedene Protokolle wie TCP, HTTP, HTTPS. Ajax ist im Grunde asynchrones JavaScript und XML. Mit AJAX können Webseiten asynchron aktualisiert werden, indem hinter den Kulissen kleine Datenmengen mit dem Server ausgetauscht werden.
  2. Geben Sie als Nächstes einen Namen für den Dienst an, der in unserem Fall TutorialService ist.
  3. Klicken Sie abschließend auf die Schaltfläche Hinzufügen, um den Dienst zur Lösung hinzuzufügen.

Schritt 4) Der nächste Schritt besteht darin, eine Konfigurationsänderung vorzunehmen, damit dieses Projekt die Arbeit mit RESTful-Webdiensten abschließen kann. Dies erfordert eine Änderung an der Datei Web.config . Diese Datei wird im selben Fenster wie die Webservice-Projektdatei angezeigt. Die Datei Web.config enthält alle Konfigurationen, mit denen die Webanwendung ordnungsgemäß funktioniert. Die vorgenommene Änderung ermöglicht es der Anwendung, Daten als reinen RESTful-Webdienst zu senden und zu empfangen.

  1. Klicken Sie auf die Datei Web.config, um den Code zu öffnen
  1. Suchen Sie für die Zeile
  1. Ändern Sie die Zeile in

Schritt 5) Der nächste Schritt in diesem RESTful API-Tutorial besteht darin, unseren Code für die Implementierung hinzuzufügen. Der gesamte unten genannte Code muss in die Datei TutorialService.svc geschrieben werden

  1. Das erste Bit besteht darin, Code hinzuzufügen, um unsere Daten darzustellen, die in unserem Programm verwendet werden. Wir werden also eine Liste von String-Variablen mit den Werten "Arrays", "Queues" und "Stacks" haben. Dies ist der Name des Tutorials, der über unseren Hosting-Webdienst verfügbar ist.
namespace Webservice.REST{[ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowedpublic class TutorialService{private static List  lst = new List  (new String[] {"Arrays","Queues","Stacks"});  

Schritt 6) Als nächstes definieren wir den Code für unsere GET-Methode. Dieser Code befindet sich auch in derselben Datei TutorialService.svc. Dieser Code wird immer dann ausgeführt, wenn wir den Dienst über unseren Browser aufrufen.

Die folgende Methode wird verwendet, um das unten genannte Szenario zu erfüllen

  • Wenn ein Benutzer eine Liste aller verfügbaren Tutorials haben möchte, muss der folgende Code geschrieben werden, um dies zu erreichen.
[WebGet(UriTemplate="/Tutorial")]public String GetAllTutorial(){int count = 1st.Count;String TutorialList = "";for (int i = 0; i < count; i++)TutorialList = TutorialList + lst[i] + ",";return TutorialList;}

Code Erläuterung: -

  1. Die erste Codezeile ist die wichtigste. Es wird verwendet, um zu definieren, wie wir diese Methode über eine URL aufrufen können. Wenn der Link zu unserem Webdienst also http: // localhost: 52645 / TutorialService.svc lautet und wenn wir das '/ Tutorial' an die URL als http: // localhost: 52645 / TutorialService.svc / Tutorial anhängen, lautet der obige Code wird aufgerufen. Das Attribut 'WebGet' ist ein Parameter, der es dieser Methode ermöglicht, eine RESTful-Methode zu sein, damit sie über das GET-Verb aufgerufen werden kann.
  2. Dieser Codeabschnitt wird verwendet, um unsere Liste der Zeichenfolgen in der Variablen 'lst' durchzugehen und alle an das aufrufende Programm zurückzugeben.

Schritt 7) Der folgende Code stellt sicher, dass bei einem GET-Aufruf des Tutorial-Dienstes mit einer Tutorial-ID der entsprechende Tutorial-Name basierend auf der Tutorial-ID zurückgegeben wird.

[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]public String GetTutorialbyID(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);return lst[pid];}

Code Erläuterung: -

  1. Die erste Codezeile ist die wichtigste. Es wird verwendet, um zu definieren, wie wir diese Methode über eine URL aufrufen können. Wenn der Link zu unserem Webdienst also http: // localhost: 52645 / TutorialService.svc lautet und wir das '/ Tutorial / {Tutorialid}' an die URL anhängen, können wir den Webdienst als http: //localhost:52645/TutorialService.svc/Tutorial/1 als Beispiel. Der Webdienst müsste dann den Namen des Lernprogramms mit der Lernprogramm-ID Nr. 1 zurückgeben.
  2. Dieser Codeabschnitt wird verwendet, um den "Tutorial-Namen" zurückzugeben, dessen Tutorial-ID an die Webmethode übergeben wurde.
  • Standardmäßig muss beachtet werden, dass alles, was im Browser an die URL übergeben wird, eine Zeichenfolge ist.
  • Sie müssen sich jedoch daran erinnern, dass der Index zu unserer Liste eine Ganzzahl sein muss. Daher fügen wir den erforderlichen Code hinzu, um zuerst die Tutorial-ID in eine Ganzzahl zu konvertieren und dann damit auf die Indexposition in unserer Liste und zuzugreifen
  • Geben Sie dann den Wert entsprechend an das aufrufende Programm zurück.

Schritt 8) Der nächste Schritt besteht darin, den Code für unsere POST-Methode zu schreiben. Diese Methode wird immer dann aufgerufen, wenn wir über die POST-Methode einen Zeichenfolgenwert zu unserer Liste der Tutorials hinzufügen möchten. Wenn Sie beispielsweise den Tutorial-Namen "Software Testing" hinzufügen möchten, müssen Sie die POST-Methode verwenden.

Code Erläuterung: -

  1. Die erste Zeile ist das Attribut 'WebInvoke', das an unsere Methode angehängt wurde. Dadurch kann die Methode über den POST-Aufruf aufgerufen werden. Die Attribute RequestFormat und ResponseFormat müssen als JSON angegeben werden, da beim Posten von Werten an einen RESTFul-Webdienst die Werte in diesem Format vorliegen müssen.
  2. Die zweite Codezeile wird verwendet, um den über den POST-Aufruf übergebenen Zeichenfolgenwert zu unserer vorhandenen Liste von Tutorial-Zeichenfolgen hinzuzufügen.

Schritt 9) Schließlich werden wir unsere Methode hinzufügen, um die DELETE-Operation zu handhaben. Diese Methode wird immer dann aufgerufen, wenn wir einen vorhandenen Zeichenfolgenwert über die DELETE-Methode aus unserer Liste der Tutorials löschen möchten.

[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Ison,UriTemplate = "/Tutorial/{Tutorialid}", ResponseFormat = WebMessageFormat.Json,BodyStyle = WebMessageBodyStyle.Wrapped)]public void DeleteTutorial(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);1st.RemoveAt(pid);}

Code Erläuterung: -

  1. Die erste Zeile ist das Attribut 'WebInvoke', das an unsere Methode angehängt wurde. Dadurch kann die Methode über den POST-Aufruf aufgerufen werden. Die Attribute RequestFormat und ResponseFormat müssen als JSON angegeben werden, da beim Posten von Werten an einen RESTFul-Webdienst die Werte in diesem Format vorliegen müssen. Beachten Sie, dass der Parameter Method auf "DELETE" gesetzt ist. Dies bedeutet, dass diese Methode immer dann aufgerufen wird, wenn wir das Verb DELETE ausgeben.
  2. Die zweite Codezeile wird verwendet, um die über den DELETE-Aufruf gesendete Tutorial-ID zu übernehmen und diese ID anschließend aus unserer Liste zu löschen. (Die Int32- Funktion im Code wird verwendet, um die Tutorial-ID von einer Zeichenfolgenvariablen in eine Ganzzahl zu konvertieren.)

Ausführen Ihres ersten Restful-Webdienstes

Nachdem wir im obigen Abschnitt unseren gesamten Webservice erstellt haben. Mal sehen, wie wir den Tutorial-Dienst ausführen können, damit er von jedem Client aufgerufen werden kann.

Führen Sie die folgenden Schritte aus, um den Webdienst auszuführen

Schritt 1) Klicken Sie mit der rechten Maustaste auf die Projektdatei - Webservice.REST

Schritt 2) Wählen Sie die Menüoption 'Als Startprojekt festlegen'. Dadurch wird sichergestellt, dass dieses Projekt ausgeführt wird, wenn Visual Studio die gesamte Lösung ausführt

Schritt 3) Der nächste Schritt besteht darin, das Projekt selbst auszuführen. Abhängig vom auf dem System installierten Standardbrowser wird nun der entsprechende Browsername neben der Schaltfläche "Ausführen" in Visual Studio angezeigt. In unserem Fall wird Google Chrome angezeigt. Klicken Sie einfach auf diese Schaltfläche.

Ausgabe:-

Wenn das Projekt ausgeführt wird, können Sie zu Ihrem Abschnitt TutorialService.svc / Tutorial navigieren, und Sie erhalten die folgende Ausgabe.

In der obigen Ausgabe

  • Sie können sehen, dass der Browser das Verb 'GET' aufruft und die Methode 'GetAllTutorial' im Webdienst ausführt. Dieses Modul wird verwendet, um alle von unserem Webdienst bereitgestellten Tutorials anzuzeigen.

Testen Sie Ihren ersten Restful-Webdienst

Im obigen Abschnitt haben wir bereits gesehen, wie der Browser verwendet wird, um das Verb 'GET' auszuführen und das 'GetAllTutorial' aufzurufen.

  1. Lassen Sie uns nun den Browser verwenden, um das folgende Anwendungsszenario auszuführen.

GET Tutorial / Tutorialid - Wenn ein Client diese Restful-API aufruft, erhält er den Namen des Tutorials basierend auf der vom Client gesendeten Tutorialid

Fügen Sie in Ihrem Browser die Zeichenfolge / 1 nach dem Tutorial-Wort in die URL ein. Wenn Sie die Eingabetaste drücken, erhalten Sie die folgende Ausgabe

Jetzt sehen Sie die Ausgabe von Warteschlangen, die tatsächlich der Nummer 1 in unserer Liste der Tutorial-Zeichenfolgen entspricht. Dies bedeutet, dass die Methode 'GetTutorialbyID' jetzt von unserem Webservice aufgerufen wird. Es zeigt auch, dass der Wert 1 erfolgreich über den Browser an unseren Webdienst und an unsere Methode übergeben wird. Deshalb erhalten wir im Browser den richtigen entsprechenden Wert für "Warteschlangen".

  1. Als nächstes nutzen wir unseren Webdienst, indem wir das folgende Szenario ausführen. Dazu müssen Sie das Tool "Fiddler" installieren, das kostenlos von der Website heruntergeladen werden kann.

POST-Lernprogramm / Lernprogrammname - Wenn ein Client diese Restful-API aufruft, sendet der Client eine Anforderung zum Einfügen eines Lernprogrammnamens. Der Webdienst fügt dann den Namen des übermittelten Lernprogramms zur Sammlung hinzu.

Führen Sie das Filddler-Tool aus und führen Sie die folgenden Schritte aus.

  1. Gehen Sie zum Komponistenbereich. Dies wird verwendet, um Anforderungen zu erstellen, die an jedes Web gesendet werden können

    Anwendung.

  2. Stellen Sie sicher, dass der Anforderungstyp "POST" ist und die richtige URL gefunden wird. In unserem Fall sollte dies http: // localhost: 52645 / TutorialService.svc / Tutorial sein
  3. Stellen Sie sicher, dass der Inhaltstyp als application / json markiert ist. Denken Sie daran, dass unsere POST-Anforderungsmethode in unserem Webdienst nur Daten im JSON-Stil akzeptiert. Daher müssen wir sicherstellen, dass dies angegeben wird, wenn wir eine Anforderung an unsere Anwendung senden.
  4. Schließlich müssen wir unsere Daten eingeben. Denken Sie daran, dass unsere Methode für POST einen Parameter namens 'str' akzeptiert. Hier geben wir also an, dass wir unserer Sammlung von Tutorial-Namen einen Wert namens "Trees" hinzufügen und sicherstellen möchten, dass er mit dem Namen der str-Variablen versehen ist.

Zum Schluss klicken Sie einfach auf die Schaltfläche Ausführen in Fiddler. Dadurch wird eine Anfrage an den Webdienst gesendet, um die Daten "Bäume" an unseren Webdienst zu senden.

Wenn wir nun zur Tutorial-URL navigieren, um alle Zeichenfolgen in unserer Tutorial-Liste anzuzeigen, sehen Sie jetzt, dass auch der Wert von "Bäume" vorhanden ist. Dies zeigt, dass die POST-Anforderung an den Webdienst erfolgreich ausgeführt und erfolgreich zu unserer Lernprogrammliste hinzugefügt wurde.

  1. Als nächstes nutzen wir unseren Webdienst, indem wir das folgende Szenario ausführen. Auch dafür müssen wir das Fiddler-Tool verwenden

DELETE Tutorial / Tutorialid - Wenn ein Client diese Restful-API aufruft, sendet der Client eine Anforderung zum Löschen eines Tutorialnamens basierend auf der Tutorialid. Der Webdienst löscht dann den übermittelten Namen des Lernprogramms aus der Sammlung.

Führen Sie das Filddler-Tool aus und führen Sie die folgenden Schritte aus

  1. Gehen Sie zum Komponistenbereich. Dies wird verwendet, um Anforderungen zu erstellen, die an jedes Web gesendet werden können

    Anwendung.

  2. Stellen Sie sicher, dass der Anforderungstyp "DELETE" ist und die richtige URL gefunden wird. In unserem Fall sollte dies http: // localhost: 52645 / TutorialService.svc / Tutorial sein . Stellen Sie sicher, dass die ID, mit der eine Zeichenfolge in der Liste gelöscht wird, über die URL als Parameter gesendet wird. In unserem REST Beispiel senden wir 1 so dies das 2 löscht nd Element in unserer Sammlung , die „Queues“ ist.

Zum Schluss klicken Sie einfach auf die Schaltfläche Ausführen in Fiddler. Dadurch wird eine Anfrage an den Webdienst gesendet, um die Daten "Warteschlangen" an unseren Webdienst zu löschen.

Wenn wir nun zur Tutorial-URL navigieren, um alle Zeichenfolgen in unserer Tutorial-Liste anzuzeigen, werden Sie feststellen, dass der Wert von "Warteschlangen" nicht mehr vorhanden ist.

Dies zeigt, dass die DELETE-Anforderung an den Webdienst erfolgreich ausgeführt wurde. Das Element am Index Nr. 1 in unserer Liste der Tutorial-Zeichenfolgen wurde erfolgreich gelöscht.

Zusammenfassung

  • REST steht für REpresentational State Transfer. Mit REST werden Webdienste erstellt, die leichtgewichtig, wartbar und skalierbar sind.
  • Immer mehr Anwendungen wechseln in die Restful-Architektur. Dies liegt daran, dass derzeit viele Menschen mobile Geräte und eine größere Vielfalt von Anwendungen verwenden, die in die Cloud wechseln.
  • Die Hauptaspekte von REST sind die Ressourcen, die sich auf dem Server befinden, und die Verben GET, POST, PUT und DELETE, mit denen mit diesen Ressourcen gearbeitet werden kann.
  • Mit Visual Studio und.Net können Restful-Webdienste erstellt werden.
  • Beim Testen von Webdiensten für POST und PUT müssen Sie ein anderes Tool namens Fiddler verwenden, mit dem die POST- und PUT-Anforderung an den Server gesendet werden kann.