Idempotenz bei HTTP: Muss der Statuscode gleich bleiben?

Lernfragen und Praxis · 2 Antworten

STARTBEITRAG

#1

PUT, erster Aufruf 201. Dasselbe PUT nochmal, diesmal 200.

Für mich ist der Zustand danach gleich, die Antwort aber nicht. Ist das trotzdem idempotent? Bei zweimal DELETE mit erst 204 und dann 404 wäre es dieselbe Frage.

0

Antworten

2
Antwort auf das Thema
#2

Ist es. Idempotenz bezieht sich auf die beabsichtigte Wirkung, nicht auf identische Antwortbytes. Nach einem DELETE ist die Ressource weg, nach dem zweiten ebenfalls. Ein zusätzlicher Logeintrag pro Aufruf macht das nicht kaputt.

0
Antwort auf Antwort

Antwort auf #2 von tom_dev

Ist es. Idempotenz bezieht sich auf die beabsichtigte Wirkung, nicht auf identische Antwortbytes. Nach einem DELETE ist die Ressource weg, nach dem zweiten ebenfalls. Ein zusätzlic…
#3

Dann war mein Denkfehler, die Antwort als Teil dieser Gleichheit zu behandeln. Für den Ressourcenzustand passt es. Bei einem eigenen Endpunkt muss man diese Zusage natürlich auch implementieren.

0