it-swarm.com.de

Was ist der Unterschied zwischen PUT, POST und PATCH?

Was ist der Unterschied zwischen den Methoden PUT, POST und PATCH im HTTP-Protokoll?

155
selva kumar

POST

HTTP.POST kann verwendet werden, wenn der Client Daten an den Server sendet und der Server den URI für die neu erstellte Ressource festlegt. Die Methode POST wird verwendet, um anzufordern, dass der Origin-Server die in der Anforderung eingeschlossene Entität als neuen Untergeordneten der Ressource akzeptiert, die durch den Request-URI in der Request-Zeile angegeben wird.

STELLEN

HTTP.PUT kann verwendet werden, wenn der Client Daten an den Server sendet und der Client den URI für die neu erstellte Ressource bestimmt. Die PUT-Methode fordert, dass die eingeschlossene Entität unter dem angegebenen Request-URI gespeichert wird. Wenn sich der Request-URI auf eine bereits vorhandene Ressource bezieht, sollte die eingeschlossene Entität als modifizierte Version der auf dem Origin-Server vorhandenen angesehen werden. Wenn der Request-URI nicht auf eine vorhandene Ressource verweist und dieser URI vom anfordernden Benutzeragenten als neue Ressource definiert werden kann, kann der Origin-Server die Ressource mit diesem URI erstellen.

PATCH

HTTP.PATCH kann verwendet werden, wenn der Client eine oder mehrere Änderungen sendet, die vom Server übernommen werden sollen. Die PATCH-Methode fordert an, dass ein Satz von Änderungen, der in der Anforderungsentität beschrieben wird, auf die durch den Request-URI identifizierte Ressource angewendet wird. Die Änderungen werden in einem Format dargestellt, das als Patch-Dokument bezeichnet wird.

Weitere Informationen finden Sie unter der angegebenen URL

PUT vs. POST in REST

157
Litisqe Kumar

Unterschied zwischen PUT, POST, GET, DELETE und PATCH IN HTTP-Verben:

Die am häufigsten verwendeten HTTP-Verben POST, GET, PUT, DELETE ähneln CRUD-Operationen (Erstellen, Lesen, Aktualisieren und Löschen) in Datenbanken. Wir geben diese HTTP-Verben im Fall capital an. Das Folgende ist also der Vergleich zwischen ihnen.

  1. create - POST
  2. lesen - GET
  3. update - PUT
  4. löschen - LÖSCHEN

PATCH: Übergibt eine teilweise Änderung an eine 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, Löschungen auftreten.

URL:http://jsonplaceholder.typicode.com/posts/

1) GET:

GET ist die einfachste HTTP-Anforderungsmethode. Die, 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 niemals auf der Serverseite infolge einer GET-Anforderung geändert werden. In diesem Sinne ist eine GET-Anforderung schreibgeschützt.

Überprüfung mit Fiddler oder PostMan: Wir können Fiddler verwenden, um die Antwort zu überprüfen. Öffnen Sie Fiddler und wählen Sie die Registerkarte Compose. 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/

Response: Sie erhalten die Antwort als:

"userId": 1, "id": 1, "title": "sunt aut ...", "body": "quia et suscipit ..."

Im Pfad "happy" (oder fehlerfrei) gibt GET eine Darstellung in XML oder JSON und einen HTTP-Antwortcode von 200 (OK) zurück. In einem Fehlerfall wird meistens 404 (NOT FOUND) oder 400 (BAD REQUEST) zurückgegeben.

2) POST:

Das Verb POST wird hauptsächlich verwendet, um create neue Ressourcen zu erstellen. Insbesondere werden damit untergeordnete Ressourcen erstellt. Das heißt, 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 zu der neu erstellten Ressource mit dem HTTP-Status 201 zurück.

Überprüfung mit Fiddler oder PostMan: Wir können Fiddler verwenden, um die Antwort zu überprüfen. Öffnen Sie Fiddler und wählen Sie die Registerkarte Compose. 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/

Request Body:

daten: {title: 'foo', body: 'bar', userId: 1000, Id: 1000}

Response: 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. Klicken Sie dann auf Execute.

Wie bereits erwähnt, ermöglicht die obige URL nur Lesevorgänge (GET), die aktualisierten Daten können jedoch nicht in real gelesen werden.

3) PUT:

PUT wird am häufigsten für update Funktionen verwendet, um eine bekannte Ressourcen-URI mit dem Anforderungshauptteil zu versehen, der die neu aktualisierte Darstellung der ursprünglichen Ressource enthält.

Überprüfung mit Fiddler oder PostMan: Wir können Fiddler verwenden, um die Antwort zu überprüfen. Öffnen Sie Fiddler und wählen Sie die Registerkarte Compose. 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

Request Body:

daten: {title: 'foo', body: 'bar', userId: 1, Id: 1}

Response: Bei erfolgreicher Aktualisierung wird 200 (oder 204, wenn kein Inhalt im Hauptteil zurückgegeben wird) von einem PUT zurückgegeben.

4) DELETE:

DELETE ist ziemlich einfach zu verstehen. Es wird verwendet, um delete eine Ressource zu identifizieren, die durch einen URI gekennzeichnet ist.

Geben Sie bei 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 umbrochenen Antwort zurück (siehe Rückgabewerte unten). Entweder das oder HTTP-Status 204 (NO CONTENT) 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üfung mit Fiddler oder PostMan: Wir können Fiddler verwenden, um die Antwort zu überprüfen. Öffnen Sie Fiddler und wählen Sie die Registerkarte Compose. 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

Response: Nach erfolgreichem Löschen wird der HTTP-Status 200 (OK) zusammen mit einem Antworttext zurückgegeben.

Beispiel zwischen PUT und PATCH

[~ # ~] put [~ # ~]

Wenn ich meinen Vornamen ändern musste, dann sende eine PUT-Anfrage für ein Update:

{"first": "Nazmul", "last": "hasan"} Um also den Vornamen zu aktualisieren, müssen alle Parameter der Daten erneut gesendet werden.

PATCH:

Die Patch-Anfrage besagt, dass wir nur die Daten senden, 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

156
Krishna

PUT = Ersetzen Sie die gesamte Ressource durch die neue Darstellung

PATCH = Ersetzen Sie Teile der Quellressource durch die angegebenen Werte. AND | ODER andere Teile der Ressource werden aktualisiert, die Sie nicht angegeben haben (Zeitstempel). AND | ODER das Aktualisieren der Ressource bewirkt andere Ressourcen (Beziehungen)

https://laracasts.com/discuss/channels/allgemeine-diskussion/was-die-unterschiede-zwischen-eingabe-und-patch?page=1

25
Ankit Rai

Die folgende Definition stammt aus dem Beispiel der realen Welt.

Beispielübersicht
Für alle Kundendaten speichern wir eine Kennung, um diese Kundendaten zu finden, und senden diese Kennung zur Referenz an diesen Kunden zurück.

  1. POST

    • Wenn der Client Daten ohne ID mit der Methode POST sendet, werden diese gespeichert und eine neue ID zugewiesen.
    • Wenn der Client die same -Daten erneut ohne einen Bezeichner mit der POST -Methode sendet, speichern wir sie und vergeben einen neuen Bezeichner.
    • Hinweis : Vervielfältigung ist hier erlaubt
  2. STELLEN

    • Wenn der Client Daten mit einer Kennung sendet, prüfen wir, ob diese Kennung existiert. Wenn der Bezeichner existiert, werden die Daten aktualisiert, ansonsten werden sie erstellt und ein neuer Bezeichner zugewiesen.
  3. PATCH

    • Wenn der Client Daten mit einer Kennung sendet, prüfen wir, ob diese Kennung existiert. Wenn der Bezeichner existiert, werden die Daten aktualisiert, andernfalls wird eine Ausnahme ausgelöst.

Hinweis: Bei Put - Methode wird keine Ausnahme ausgelöst, wenn kein Bezeichner gefunden wird. In 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 haben.

4
Yokesh Waran

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" }

Hier müssen wir, obwohl wir nur den Vornamen ändern, bei PUT-Anforderung 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.

1
beginners

Anfragetypen

  • erstellen Sie - POST
  • lesen Sie - GET
  • erstellen oder aktualisieren - PUT
  • löschen - LÖSCHEN
  • update - PATCH

GET/PUT ist idempotent PATCH kann manchmal idempotent sein

Was ist idempotent -Es bedeutet, wenn die Abfrage mehrmals ausgelöst wird, sollte das Ergebnis davon nicht beeinträchtigt werden (gleiche 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

{
id:1
name:parth
email:[email protected]
}

post: -

neue Ressource bei Database erstellen. Das bedeutet, dass neue Daten hinzugefügt werden. Es ist nicht idempotent.

put: -

Erstellen Sie eine neue Ressource, die sonst zu vorhandenen . Idempotent hinzugefügt wird, da sie jedes Mal dieselbe Ressource aktualisiert und die Ausgabe dieselbe .ex ist. - Anfangsdaten

{
id:1
name:parth
email:[email protected]
}
  • führen Sie put-localhost/1 aus
{
id:1
email:[email protected]
}

patch

so kam nun der patch request .__

id:1
name:parth
email:[email protected]
}

patchname: w

{
id:1
name:w
email:[email protected]
}
 HTTP-Methode 
 GET Ja 
POST Nein 
 PUT Ja 
 PATCH Nein * 
 OPTIONEN Ja 
 HEAD Ja 
 DELETE Ja 

Ressourcen: Idempotent - Was ist Idempotenz?

1
Parth Patel