Ein Soft-Delete markiert einen Datensatz mit dem Status „gelöscht“ (deleted_at, status: deleted), anstatt ihn endgültig zu entfernen. Die Daten bleiben für Auditing-, Rückgängigmachungs- und Referenzintegritätszwecke erhalten, während die API sie als gelöscht behandelt. Dadurch kann die API für eine gelöschte Ressource den Statuscode 410 Gone zurückgeben, was aussagekräftiger ist als 404 Not Found: Es besagt, dass die Kennung gültig war und die Ressource absichtlich nicht mehr verfügbar ist.
Jeder Lesevorgang muss markierte Zeilen ausschließen, einschließlich Listen-Endpunkten, Suchvorgängen und Zählungen. Ein GET-Aufruf auf eine vorläufig gelöschte ID liefert den Statuscode 410, ein zweiter DELETE-Aufruf liefert 410 oder 404 statt 204, und ein Bereinigungsvorgang entfernt die Daten schließlich endgültig, oft nach einer Aufbewahrungsfrist, die durch Datenschutzgesetze vorgeschrieben sein kann.
Die vorläufig gelöschten Daten sind zwar unwiederbringlich verloren, befinden sich aber weiterhin in der Datenbank, in Backups und oft auch in Suchindizes. Bei personenbezogenen Daten reicht eine vorläufige Löschung allein nicht aus, um eine endgültige Löschung zu gewährleisten. Und ein Listenendpunkt, der den Filter vergisst, stellt gelöschte Datensätze für jeden Client wieder her.
Löschen Sie /protocol/v1/documents/{id} als Administrator und rufen Sie anschließend dieselbe ID per GET-Anfrage ab: Die Antwort lautet 410, nicht 404. Die abgelaufenen Gutscheine der Shop-API sowie die stornierten Tickets der Weltmeisterschaft und der FIBA liefern auf dieselbe Weise den Fehlercode 410.
Diese Seite auf Englisch lesen
Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs
Zuletzt aktualisiert