Wir haben eine REST-API, an die Clients routinemäßig POST- und PUT-Daten senden. Wenn sie dies tun, senden sie manchmal Daten, was zu keiner Veränderung auf unserem System führt. Die POSTs und PUTs sind wohlgeformt, aber die Daten, die sie senden, sind identisch mit den Daten in unserer Datenbank. Wenn dies passiert, habe ich gerade herausgefunden, dass wir einen 400 HTTP-Status zurückgeben. Leider bedeutet dies "schlechte Anfrage" wie in "Anfrage konnte der Server wegen missgebildeter Syntax nicht verstanden werden".REST: Korrekter HTTP-Antwortcode für einen POST, der ignoriert wird
Offensichtlich ist dies nicht der Fall, aber mir wurde gesagt, dass wir dies verwenden werden, da es keinen anderen geeigneten Statuscode gibt. Entscheidungen, die wir in Betracht gezogen haben:
- 304 Nicht geändert. Dies ist leider nur für GET-Anfragen.
- 204 Kein Inhalt. Scheint nahe, verbietet aber einen Körper.
Andere Möglichkeiten scheinen gleichermaßen schlecht. Wir gehen vielleicht mit 200 OK
und haben die relevanten Informationen in dem XML-Dokument, das wir zurückgeben, aber das scheint nicht sehr "RESTish". Wie geht es der REST-Welt generell?
(Fixed Not Modified-Response-Code. Dank Mkoeller)
HTTP-Status 302 heißt "Gefunden". – mkoeller