JSON Patch ist ein JSON-Array mit Operationen – Hinzufügen, Entfernen, Ersetzen, Verschieben, Kopieren und Testen –, die jeweils eine Position im Zieldokument mit einem JSON-Pointer wie z. B. /tags/0. Es wird als Body einer PATCH-Anfrage mit dem Content-Type application/json-patch+json gesendet und teilt dem Server präzise mit, was geändert werden soll, anstatt eine neue Kopie der gesamten Ressource zu senden.
Die Operationen werden der Reihe nach ausgeführt, und der Patch ist atomar: Schlägt eine Operation fehl, wird keine der Operationen ausgeführt. Die Testoperation ist eine integrierte Vorbedingung – "only apply this patch if /status is still draft" – wodurch JSON Patch eine schlanke Form optimistischer Parallelverarbeitung auf Feldebene ermöglicht.
Ein mit PATCH gesendetes partielles JSON-Objekt ist ein JSON-Patch. Es handelt sich dabei um einen JSON-Merge-Patch (RFC 7396), ein anderes Format, bei dem null "delete this field" bedeutet und Arrays nur vollständig ersetzt werden können. Server akzeptieren üblicherweise entweder das eine oder das andere Format; der Content-Type dient als Unterscheidungsmerkmal.
PATCH /protocol/v1/documents/{id} erwartet ein RFC 6902-Array: Hinzufügen, Ersetzen, Entfernen und Testen auf /title , /body und /tags — ein fehlgeschlagener Test liefert die Antwort 409, und ein Body, der kein Array ist, liefert die Antwort 400.
Diese Seite auf Englisch lesen
Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs
Zuletzt aktualisiert