R repräsentativ S tate T ransfer (REST) ist ein Architekturstil, der eine Reihe von Einschränkungen definiert, die zum Erstellen von Webdiensten verwendet werden sollen. REST-API ist eine Möglichkeit, auf einfache und flexible Weise auf Webdienste zuzugreifen, ohne dass eine Verarbeitung erforderlich ist.
Die REST-Technologie wird im Allgemeinen der robusteren SOAP-Technologie (Simple Object Access Protocol) vorgezogen, da REST weniger Bandbreite benötigt, einfach und flexibel ist und sich daher besser für die Internetnutzung eignet. Es wird verwendet, um Informationen von einem Webdienst abzurufen oder bereitzustellen. Die gesamte Kommunikation über die REST-API verwendet nur HTTP-Anfragen.
Arbeiten: Eine Anfrage wird vom Client an den Server in Form einer Web-URL als HTTP-GET- oder POST- oder PUT- oder DELETE-Anfrage gesendet. Danach kommt vom Server eine Antwort in Form einer Ressource zurück, die etwa HTML, XML, Bild oder JSON sein kann. Aber mittlerweile ist JSON das beliebteste Format, das in Webdiensten verwendet wird.
Bauen Sie REST-API-Beherrschung auf Lernen Sie mit dem interaktiven Kompetenzpfad von Educative, wie Sie beliebte und praktische Python-REST-APIs in Django-Webanwendungen integrieren Werden Sie ein Python-basierter API-Integrator. Melden Sie sich mit dem Code bei Educative.io an GEEKS10 um 10 % auf Ihr Abonnement zu sparen.
In HTTP Es gibt fünf Methoden, die üblicherweise in einer REST-basierten Architektur verwendet werden, nämlich POST, GET, PUT, PATCH und DELETE. Diese entsprechen den Vorgängen zum Erstellen, Lesen, Aktualisieren und Löschen (oder CRUD). Es gibt andere Methoden, die weniger häufig verwendet werden, wie OPTIONS und HEAD.
- ERHALTEN: Dazu wird die HTTP-GET-Methode verwendet lesen eine Darstellung einer Ressource abrufen (oder abrufen). Im sicheren Pfad gibt GET eine Darstellung in XML oder JSON und einen HTTP-Antwortcode von 200 (OK) zurück. Im Fehlerfall wird meistens 404 (NOT FOUND) oder 400 (BAD REQUEST) zurückgegeben.
- POST: Das POST-Verb wird am häufigsten verwendet erstellen neue Ressourcen. Insbesondere dient es der Erstellung untergeordneter Ressourcen. Das heißt, sie ist einer anderen (z. B. übergeordneten) Ressource untergeordnet. Geben Sie bei erfolgreicher Erstellung den HTTP-Status 201 zurück und geben Sie einen Location-Header mit einem Link zur neu erstellten Ressource mit dem HTTP-Status 201 zurück.
NOTIZ: POST ist weder sicher noch idempotent.
- SETZEN: Es wird genutzt für Aktualisierung die Fähigkeiten. PUT kann jedoch auch dazu verwendet werden erstellen eine Ressource für den Fall, dass die Ressourcen-ID vom Client und nicht vom Server ausgewählt wird. Mit anderen Worten, wenn der PUT auf einen URI verweist, der den Wert einer nicht vorhandenen Ressourcen-ID enthält. Geben Sie bei erfolgreicher Aktualisierung 200 (oder 204, wenn kein Inhalt im Hauptteil zurückgegeben wird) von einem PUT zurück. Wenn Sie PUT zum Erstellen verwenden, geben Sie bei erfolgreicher Erstellung den HTTP-Status 201 zurück. PUT ist keine sichere Operation, aber idempotent.
- PATCH: Es ist gewohnt ändern Fähigkeiten. Die PATCH-Anfrage muss nur die Änderungen an der Ressource enthalten, nicht die gesamte Ressource. Dies ähnelt PUT, der Textkörper enthält jedoch eine Reihe von Anweisungen, die beschreiben, wie eine Ressource, die sich derzeit auf dem Server befindet, geändert werden sollte, um eine neue Version zu erstellen. Das bedeutet, dass der PATCH-Körper nicht nur ein geänderter Teil der Ressource sein sollte, sondern in einer Art Patch-Sprache wie JSON Patch oder XML Patch vorliegen sollte. PATCH ist weder sicher noch idempotent.
- LÖSCHEN: Es ist gewohnt löschen eine durch einen URI identifizierte Ressource. Bei erfolgreichem Löschvorgang wird der HTTP-Status 200 (OK) zusammen mit einem Antworttext zurückgegeben.
Idempotenz: Eine idempotente HTTP-Methode ist eine HTTP-Methode, die viele Male ohne unterschiedliche Ergebnisse aufgerufen werden kann. Es spielt keine Rolle, ob die Methode nur einmal oder zehnmal aufgerufen wird. Das Ergebnis sollte das gleiche sein. Dies gilt wiederum nur für das Ergebnis, nicht für die Ressource selbst.
Beispiel:
C
Klasse vs. Objekt Java
1. a = 4> // It is Idempotence, as final value(a = 4)> > // would not change after executing it multiple> > // times.> 2. a++> // It is not Idempotence because the final value> > // will depend upon the number of times the> > // statement is executed.> |
>
>
Anfrage und Antwort
Jetzt werden wir sehen, wie Anfrage und Antwort für verschiedene funktionieren HTTP Methoden. Nehmen wir an, wir haben eine API( https://www.techcodeview.com ) für alle Studierendendaten der gfg.
- ERHALTEN: Bitte an alle Studierenden.
Anfrage |
GET:/api/students |
- POST: Anfrage zum Veröffentlichen/Erstellen/Einfügen von Daten
Anfrage |
POST:/api/students {Name:Raj} |
- PUT oder PATCH: Anfrage zur Aktualisierung der Daten unter id=1
Anfrage |
PUT oder PATCH:/api/students/1 {Name:Raj} |
- LÖSCHEN: Antrag auf Löschung der Daten von id=1
Anfrage |
DELETE:/api/students/1 |
RESTful-Webdienste erfreuen sich großer Beliebtheit, da sie leicht, hoch skalierbar und wartbar sind und sehr häufig zum Erstellen von APIs für webbasierte Anwendungen verwendet werden.