2017-10-13 2 views
0

Ich bin ziemlich neu in der RESTful Welt, und im Moment debattiere ich, ob beim Aufruf einer Delete-Methode für eine URL, die nicht existiert, ob 404 Resource Not Found zurückgegeben werden soll. Im Moment gibt der Code einen Code 200 OK zurück, aber dies informiert einen Benutzer nicht, dass das, was er tun wollte, nicht möglich war.Wäre ein 404 zulässig, wenn eine DELETE-Methode für eine nicht vorhandene URL aufgerufen wird?

Ich habe online und hier gesucht, und eine Menge Leute haben Meinungen zu diesem Thema geteilt, mit HTTP keine Standards für Rückkehrcodes.

(Ich denke in einem Szenario, wo jemand etwas durch einen Tippfehler löschen möchte, löscht eine ungültige Ressource, aber da kein Fehlercode zurückgegeben wird, wird nicht informiert, dass das Löschen fehlgeschlagen ist, und doesn Realisiere den Fehler nicht.)

Antwort

0

Ich würde den 404 zurückgeben und dem Frontend-Entwickler erlauben zu entscheiden, wie er mit der Situation umgehen soll. Als Frontend-Entwickler, wenn mein Benutzer versuchte, eine Ressource zu löschen, die nicht existierte, möchte ich diese Situation behandeln. Es könnte sein, dass die Ressource von einem anderen Benutzer zwischen dem Zeitpunkt, an dem ich die Ressource gefunden habe, und dem Geschenk gelöscht wurde. Auf der anderen Seite könnte es sein, dass es einen Tippfehler gab, wie du gesagt hast.

Aber unabhängig davon würde ich gerne wissen, wenn der Benutzer versucht, eine Ressource zu löschen, die nicht mehr existiert, damit ich die Situation angemessen behandeln kann.

Diese Situation hängt jedoch von der Art der Anwendung ab, die Sie erstellen. Beispielsweise möchten Sie möglicherweise eine 410 zurückgeben, wenn ein anderer Benutzer die Ressource in den letzten 5 Minuten gelöscht hat, und dann eine 404 für alle nicht vorhandenen URLs zurückgeben. Aber ich würde wieder nur eine Rückkehr von 200 erwarten, wenn etwas tatsächlich gelöscht würde.

SharePoint REST folgt diesem Muster.

Verwandte Themen