In so ziemlich allen Quellen die ich konsultiert habe steht, dass die Methode DELETE idempotent ist.
Was ich aber nicht gefunden habe ist folgender Sachverhalt:
Wenn man ein DELETE auf eine Ressource anwendet bekommt man einen 200 / 202 / 204 Statuscode und die Ressource wurde gelöscht.
Wenn man allerdings ein DELETE auf eine Ressource anwendet, die nicht bzw. nicht mehr existiert, bekommt man dann dennoch ein 200 / 202 / 204, oder eben entsprechend einen 404 Statuscode?
Spricht ein 404 Statuscode nicht gegen das Konzept von idempotent, oder bezieht sich das nur auf den Zustand der Ressource, da sich dieser ja nicht mehr ändern kann unabhängig des Statuscodes?
Ich persönlich würde in diesem Fall eher ein 404 Statuscode erwarten.
Wie seht ihr das?
Was ich aber nicht gefunden habe ist folgender Sachverhalt:
Wenn man ein DELETE auf eine Ressource anwendet bekommt man einen 200 / 202 / 204 Statuscode und die Ressource wurde gelöscht.
Wenn man allerdings ein DELETE auf eine Ressource anwendet, die nicht bzw. nicht mehr existiert, bekommt man dann dennoch ein 200 / 202 / 204, oder eben entsprechend einen 404 Statuscode?
Spricht ein 404 Statuscode nicht gegen das Konzept von idempotent, oder bezieht sich das nur auf den Zustand der Ressource, da sich dieser ja nicht mehr ändern kann unabhängig des Statuscodes?
Ich persönlich würde in diesem Fall eher ein 404 Statuscode erwarten.
Wie seht ihr das?