Wenn ich eine API verwende, muss ich als Client "Erfolgs" -Fälle behandeln, die sich von "Fehler" -Fällen unterscheiden. Ich habe dort keine Wahl. Daher sollten Sie einen Fehler in Situationen zurückgeben, die der Client anders behandeln möchte , und einen Erfolg in Situationen, die der Client gleich behandeln möchte .
Wenn ich eine Abfrage durchführe, die theoretisch eine beliebige Anzahl von Ergebnissen (null, eins, zweihundert usw.) zurückgeben kann, sollten Sie "success" zurückgeben, wenn die API die vollständige Liste aller Ergebnisse liefert. Und in Fällen, in denen es viele Ergebnisse gibt, haben Sie möglicherweise eine Teilliste mit Ergebnissen zurückgegeben, um eine übermäßige Größe zu vermeiden, und es gibt einen vereinbarten Weg, wie ich die anderen Ergebnisse erhalten würde. Das liegt daran, dass ich als Kunde häufig den Fall von Null-Ergebnissen wie den Fall von mehr Ergebnissen behandeln möchte. Ich würde es vielleicht anders behandeln, aber ich möchte nicht dazu gezwungen werden.
Anders ist es in dem Fall, dass ich einen Wert nachschlage. Ich erwarte genau ein Ergebnis, den Wert, den ich suche. Und ich brauche dieses eine Ergebnis, um das, was ich tun möchte, sinnvoll fortzusetzen. Hier ist es viel akzeptabler, einen Status 404 für den Fall zurückzugeben, dass kein Wert vorhanden ist, da ich diesen Fall ohnehin anders behandeln muss.
Zusammenfassung: Wenn der Client eine beliebige Anzahl von Ergebnissen erwartet, von Null bis zu großen Zahlen, wird "Erfolg" zurückgegeben, wenn alle Ergebnisse geliefert werden, auch wenn die Zahl Null ist. Wenn der Client genau ein Ergebnis erwartet, geben Sie Erfolg zurück, wenn das Ergebnis gefunden wird, und einen Fehler, wenn das Ergebnis nicht gefunden wird.