Was ist der Unterschied zwischen PUT-, POST- und PATCH-Methoden im HTTP-Protokoll?
http
http-post
http-put
http-patch
Selva Kumar
quelle
quelle
Antworten:
Unterschied zwischen PUT, POST, GET, DELETE und PATCH IN HTTP-Verben:
Die am häufigsten verwendeten HTTP-Verben POST, GET, PUT, DELETE ähneln den CRUD-Operationen (Erstellen, Lesen, Aktualisieren und Löschen) in der Datenbank. Wir geben diese HTTP-Verben im Großbuchstaben an . Das Folgende ist also der Vergleich zwischen ihnen.
PATCH: Sendet eine teilweise Änderung an einer Ressource. Wenn Sie nur ein Feld für die Ressource aktualisieren müssen, können Sie die PATCH-Methode verwenden.
Hinweis:
Da POST, PUT, DELETE den Inhalt ändert, ahmen die Tests mit Fiddler für die folgende URL nur die Aktualisierungen nach. Es wird nicht gelöscht oder geändert. Wir können nur die Statuscodes sehen, um zu überprüfen, ob Einfügungen, Aktualisierungen oder Löschungen auftreten.
URL: http://jsonplaceholder.typicode.com/posts/
1) GET:
GET ist die einfachste Art der HTTP-Anforderungsmethode. Diejenige, die Browser jedes Mal verwenden, wenn Sie auf einen Link klicken oder eine URL in die Adressleiste eingeben. Es weist den Server an, die durch die URL identifizierten Daten an den Client zu übertragen. Daten sollten aufgrund einer GET-Anforderung niemals auf der Serverseite geändert werden. In diesem Sinne ist eine GET-Anforderung schreibgeschützt.
Überprüfen mit Fiddler oder PostMan: Wir können Fiddler zum Überprüfen der Antwort verwenden. Öffnen Sie Fiddler und wählen Sie die Registerkarte Verfassen. Geben Sie das Verb und die URL wie unten gezeigt an und klicken Sie auf Ausführen, um die Antwort zu überprüfen.
Verb: GET
URL: http://jsonplaceholder.typicode.com/posts/
Antwort: Sie erhalten die Antwort wie folgt:
"userId": 1, "id": 1, "title": "sunt aut ...", "body": "quia et suscipit ..."
Im Pfad "happy" (oder ohne Fehler) gibt GET eine Darstellung in XML oder JSON und einen HTTP-Antwortcode von 200 (OK) zurück. In einem Fehlerfall wird meistens eine 404 (NICHT GEFUNDEN) oder 400 (BAD REQUEST) zurückgegeben.
2) POST:
Das POST-Verb wird hauptsächlich zum Erstellen neuer Ressourcen verwendet. Insbesondere werden damit untergeordnete Ressourcen erstellt. Das heißt, einer anderen (z. B. übergeordneten) Ressource untergeordnet.
Geben Sie nach erfolgreicher Erstellung den HTTP-Status 201 zurück und geben Sie einen Standortheader mit einem Link zu der neu erstellten Ressource mit dem HTTP-Status 201 zurück.
Überprüfen mit Fiddler oder PostMan: Wir können Fiddler zum Überprüfen der Antwort verwenden. Öffnen Sie Fiddler und wählen Sie die Registerkarte Verfassen. Geben Sie das Verb und die URL wie unten gezeigt an und klicken Sie auf Ausführen, um die Antwort zu überprüfen.
Verb: POST
URL: http://jsonplaceholder.typicode.com/posts/
Anfragetext:
Daten: {Titel: 'foo', Text: 'bar', Benutzer-ID: 1000, ID: 1000}
Antwort: Sie würden den Antwortcode als 201 erhalten.
Wenn Sie den eingefügten Datensatz mit Id = 1000 überprüfen möchten, ändern Sie das Verb in Get und verwenden Sie dieselbe URL und klicken Sie auf Execute.
Wie bereits erwähnt, erlaubt die obige URL nur Lesevorgänge (GET), wir können die aktualisierten Daten nicht in real lesen.
3) PUT:
PUT wird am häufigsten für Aktualisierungsfunktionen verwendet , wobei ein bekannter Ressourcen-URI mit dem Anforderungshauptteil PUT-verknüpft wird, der die neu aktualisierte Darstellung der ursprünglichen Ressource enthält.
Überprüfen mit Fiddler oder PostMan: Wir können Fiddler zum Überprüfen der Antwort verwenden. Öffnen Sie Fiddler und wählen Sie die Registerkarte Verfassen. Geben Sie das Verb und die URL wie unten gezeigt an und klicken Sie auf Ausführen, um die Antwort zu überprüfen.
Verb: PUT
URL: http://jsonplaceholder.typicode.com/posts/1
Anfragetext:
Daten: {Titel: 'foo', Text: 'bar', Benutzer-ID: 1, ID: 1}
Antwort: Bei erfolgreicher Aktualisierung werden 200 (oder 204, wenn kein Inhalt im Hauptteil zurückgegeben wird) von einem PUT zurückgegeben.
4) LÖSCHEN:
LÖSCHEN ist ziemlich einfach zu verstehen. Es wird verwendet, um eine durch einen URI identifizierte Ressource zu löschen .
Geben Sie nach erfolgreichem Löschen den HTTP-Status 200 (OK) zusammen mit einem Antworttext, möglicherweise der Darstellung des gelöschten Elements (erfordert häufig zu viel Bandbreite) oder einer umschlossenen Antwort zurück (siehe Rückgabewerte unten). Entweder das oder HTTP-Status 204 (KEIN INHALT) ohne Antworttext zurückgeben. Mit anderen Worten, ein 204-Status ohne Text oder die Antwort im JSEND-Stil und der HTTP-Status 200 sind die empfohlenen Antworten.
Überprüfen mit Fiddler oder PostMan: Wir können Fiddler zum Überprüfen der Antwort verwenden. Öffnen Sie Fiddler und wählen Sie die Registerkarte Verfassen. Geben Sie das Verb und die URL wie unten gezeigt an und klicken Sie auf Ausführen, um die Antwort zu überprüfen.
Verb: LÖSCHEN
URL: http://jsonplaceholder.typicode.com/posts/1
Antwort: Nach erfolgreichem Löschen wird der HTTP-Status 200 (OK) zusammen mit einem Antworttext zurückgegeben.
Beispiel zwischen PUT und PATCH
STELLEN
Wenn ich meinen Vornamen ändern musste, senden Sie eine PUT-Anfrage für das Update:
{"first": "Nazmul", "last": "hasan"} Um den Vornamen zu aktualisieren, müssen wir hier alle Parameter der Daten erneut senden.
PATCH:
Die Patch-Anfrage besagt, dass wir nur die Daten senden würden, die wir ändern müssen, ohne andere Teile der Daten zu ändern oder zu beeinflussen. Beispiel: Wenn wir nur den Vornamen aktualisieren müssen, übergeben wir nur den Vornamen.
Weitere Informationen finden Sie unter den folgenden Links:
https://jsonplaceholder.typicode.com/
https://github.com/typicode/jsonplaceholder#how-to
Was ist der Hauptunterschied zwischen PATCH- und PUT-Anforderung?
http://www.restapitutorial.com/lessons/httpmethods.html
quelle
PUT = Ersetzen Sie die GESAMTE RESSOURCE durch die neue bereitgestellte Darstellung
PATCH = Teile der Quellressource durch die angegebenen Werte ersetzen UND | ODER andere Teile der Ressource werden aktualisiert, die Sie nicht angegeben haben (Zeitstempel) UND | ODER Aktualisieren der Ressource wirkt sich auf andere Ressourcen aus (Beziehungen)
https://laracasts.com/discuss/channels/general-discussion/whats-the-differences-between-put-and-patch?page=1
quelle
Die folgende Definition stammt aus dem Beispiel der realen Welt.
Beispielübersicht
Für alle Clientdaten speichern wir eine Kennung, um diese Clientdaten zu finden, und senden diese Kennung zur Referenz an diesen Client zurück.
POST
STELLEN
PATCH
Hinweis: Bei der Put- Methode wird keine Ausnahme ausgelöst, wenn kein Bezeichner gefunden wird. Bei der Patch- Methode wird jedoch eine Ausnahme ausgelöst , wenn der Bezeichner nicht gefunden wird.
Lassen Sie mich wissen, wenn Sie Fragen zu den oben genannten Themen haben.
quelle
Anfragetypen
GET / PUT ist idempotent PATCH kann manchmal idempotent sein
Was ist idempotent? Wenn wir die Abfrage mehrmals abfeuern, sollte dies das Ergebnis nicht beeinflussen. (Dieselbe Ausgabe. Angenommen, eine Kuh ist schwanger und wenn wir sie erneut züchten, kann sie nicht mehrmals schwanger sein.)
get
: -einfach bekommen. Holen Sie sich die Daten vom Server und zeigen Sie sie dem Benutzer
post
: -Erstellen Sie eine neue Ressource in der Datenbank. Dies bedeutet, dass neue Daten hinzugefügt werden. Es ist nicht idempotent.
put
: -Neue Ressource erstellen, andernfalls zur vorhandenen hinzufügen. Idempotent, da jedes Mal dieselbe Ressource aktualisiert wird und die Ausgabe gleich ist. Ex. - Anfangsdaten
patch
So kam nun die Patch-Anfrage PATCH kann manchmal idempotent sein
Patchname: w
Ressourcen: Idempotent - Was ist Idempotenz?
quelle
Hier ist eine einfache Beschreibung aller:
quelle
Hauptunterschied zwischen PUT und PATCH Anfragen:
Angenommen, wir haben eine Ressource, die den Vor- und Nachnamen einer Person enthält.
Wenn wir den Vornamen ändern möchten, senden wir eine Put-Anfrage für das Update
{ "first": "Michael", "last": "Angelo" }
Obwohl wir hier nur den Vornamen ändern, müssen wir bei einer PUT-Anfrage beide Parameter zuerst und zuletzt senden.
Mit anderen Worten, es ist obligatorisch, alle Werte erneut zu senden, die volle Nutzlast.
Wenn wir jedoch eine PATCH-Anfrage senden, senden wir nur die Daten, die wir aktualisieren möchten. Mit anderen Worten, wir senden nur den Vornamen zum Aktualisieren, nicht den Nachnamen.
quelle
Ganz logisch ist der Unterschied zwischen PUT und PATCH beim Senden vollständiger und teilweiser Daten zum Ersetzen bzw. Aktualisieren. Allerdings nur ein paar Punkte wie unten
quelle
Denk darüber so...
POST - erstellen
PUT - ersetzen
PATCH - Update
Zu lesen bekommen
LÖSCHEN - löschen
quelle
Einfachste Erklärung:
POST - Neuen Datensatz erstellen
PUT - Wenn der Datensatz vorhanden ist, aktualisieren Sie ihn anderweitig und erstellen Sie einen neuen Datensatz
PATCH - Update
Zu lesen bekommen
LÖSCHEN - löschen
quelle