Ostatnio zacząłem się zastanawiać jak powinno wyglądać przerabianie komunikatów dla końcowego użytkownika. Sprawdzając kilka większych serwisów (takie jak Google, Facebook, Spotify itd) widzę, że przekazują jakiś komunikat błędu który da się łatwo zrozumieć (message, text, nazwa pola nieważna). Jednakże zacząłem się zastanawiać, dla kogo tak naprawdę są przeznaczone te komunikaty błędu - dla developera, który korzysta z API czy są one bezpośrednio przekazywane końcowemu użytkownikowi? Podobną sytuację widzę podczas tworzenia systemów gdzie REST przesyła frontendowi przygotowany komunikat błędu który jest bezpośrednio wyświetlany użytkownikowi. Czy nie powinno być tak, że backend wysyła jakąś odpowiedź w której są zawarte kody błędu oraz krótki opis błędu (plus np. wartość którą dostał, a wartość którą oczekiwał), natomiast sam komunikat błędu tworzy już sobie frontend na podstawie np. customowego kodu błędu (400 jest zbyt ogólny, nie mówi w którym miejscu dokładnie jest błąd, poza tym można zwrócić tylko jeden Http status)? Czy to co leci od RESTa, nie powinno być informacją dla developera? Rozumiem wtedy komunikat błędu jako swego rodzaju dokumentację, że nie trzeba się uczyć na pamięć customowych kodów błędu.
Edit: Nie chciałem tego wątku umieszczać w jakimkolwiek z działów z Programowania, ponieważ problem nie jest związany z żadnym językiem programowania a z REST'em.