Nur zu Ihrer Information, die Antworten hier sind falsch.
Sehen:
https://restfulapi.net/rest-api-design-tutorial-with-example/
https://restfulapi.net/rest-put-vs-post/
https://restfulapi.net/http-methods/#patch
STELLEN
Verwenden Sie PUT-APIs hauptsächlich zum Aktualisieren vorhandener Ressourcen (wenn die Ressource nicht vorhanden ist, entscheidet die API möglicherweise, ob eine neue Ressource erstellt werden soll oder nicht). Wenn eine neue Ressource von der PUT-API erstellt wurde, MUSS der Ursprungsserver den Benutzeragenten über die Antwort des HTTP-Antwortcodes 201 (Erstellt) informieren. Wenn eine vorhandene Ressource geändert wird, entweder die Antwort 200 (OK) oder 204 (Kein Inhalt). Antwortcodes MÜSSEN gesendet werden, um den erfolgreichen Abschluss der Anforderung anzuzeigen.
Wenn die Anforderung einen Cache durchläuft und der Anforderungs-URI eine oder mehrere aktuell zwischengespeicherte Entitäten identifiziert, MÜSSEN diese Einträge als veraltet behandelt werden. Antworten auf diese Methode können nicht zwischengespeichert werden.
Verwenden Sie PUT, wenn Sie eine einzelne Ressource ändern möchten, die bereits Teil der Ressourcensammlung ist. PUT ersetzt die Ressource vollständig. Verwenden Sie PATCH, wenn die Anforderung einen Teil der Ressource aktualisiert.
PATCH
HTTP-PATCH-Anforderungen müssen eine Ressource teilweise aktualisieren. Wenn Sie sehen, dass PUT-Anforderungen auch eine Ressourcenentität ändern, um dies klarer zu machen, ist die PATCH-Methode die richtige Wahl, um eine vorhandene Ressource teilweise zu aktualisieren, und PUT sollte nur verwendet werden, wenn Sie eine Ressource vollständig ersetzen.
Sie sollten es also folgendermaßen verwenden:
POST /device-management/devices : Create a new device
PUT /device-management/devices/{id} : Update the device information identified by "id"
PATCH /device-management/devices/{id} : Partial-update the device information identified by "id"
RESTful-Praktiken weisen darauf hin, dass es keine Rolle spielen sollte, was Sie unter / {id} eingeben - der Inhalt des Datensatzes sollte auf den von der Nutzlast bereitgestellten aktualisiert werden -, aber GET / {id} sollte weiterhin mit derselben Ressource verknüpft sein.
Mit anderen Worten, PUT / 3 wird möglicherweise auf die Nutzlast-ID auf 4 aktualisiert, aber GET / 3 sollte weiterhin mit derselben Nutzlast verknüpft sein (und die mit der auf 4 eingestellte ID zurückgeben).
Wenn Sie entscheiden, dass Ihre API dieselbe Kennung im URI und in der Nutzlast benötigt, müssen Sie sicherstellen, dass sie übereinstimmt. Verwenden Sie jedoch auf jeden Fall PATCH anstelle von PUT, wenn Sie die ID in der Nutzlast ausschließen, die in ihrer Gesamtheit vorhanden sein soll . Hier hat die akzeptierte Antwort etwas falsch gemacht. PUT muss die gesamte Ressource ersetzen, wobei der Patch teilweise sein kann.