2012-04-12 16 views
0

Ich habe ein Szenario, in dem meine API-Anwendung externe Datenquellen kontaktiert und für dieses spezielle Beispiel fordert meine API eine Liste von Farben aus der externen Datenquelle an. Manchmal hat die Datenquelle diese Farben nicht und gibt eine Klartextantwort von "Es gibt keine Optionen zum Anzeigen" mit einem HTTP-Statuscode von 200 OK zurück.Rest API HTTP-Statuscode zurückgeben

Was ich frage mich ist, welche Statuscode ich an den Client zurückgeben sollte, der meine API in diesem Szenario verbraucht? Ein 404 nicht gefunden oder 204 kein Inhalt ...? Ich bin mir nicht sicher, was am besten passt.

Dank

Antwort

1

Ist es gültig keine Farben zurück? In diesem Fall ist Ihr ursprünglicher 200 möglicherweise der richtige zu verwendende Statuscode.

204 wird normalerweise verwendet, um Erfolg anzuzeigen, aber der Client muss keine Informationen aktualisieren, die er enthält; Löschen oder Aktualisieren einer Ressource zum Beispiel sind gültige Zeiten zu verwenden 204.

404 scheint falsch, wenn auf die gleiche URL zugegriffen wird, in Ihrem Szenario klingt es wie der Zustand der Ressource möglicherweise Überstunden ändern (und es kann leer sein), aber es ist immer vorhanden.

+0

Also was Ihr Sprichwort ist, dass eine 200 könnte richtig sein, wenn es gültig ist, dass keine Farben zurückgegeben werden. Ich denke, dass ich dann damit gehen werde. Danke, dass Sie mich in die richtige Richtung gebracht haben. – gdp

+0

Auf den Punkt gebracht, ja :-), froh, dass Sie die Antwort hilfreich fanden! –