Cześć,
wdałem się w ciekawą dyskusję gdzie potoczyło się o to, jaki kod response powinien być zwrócony w takim scenariuszu.
Serwis A za pomocą RestApi uderza do serwisu B aby coś znaleźć. Serwis B zwraca 404 bo np. nie ma zasobu w bazie. Więc A dostał na twarz 404 i pytanie, co A ma zwrócić na front ? W implementacji którą widziałem developer zwrócił kod 200.
I tutaj zaczęła się dyskusja, moim zdaniem może i to troche dziwnie wygląda, ale zwrócenie tutaj 200 nie jest błędem. Z kolei, jest spora grupa zwolenników tego, że trzeba koniecznie zwróci 404. Mi zwracanie tutaj 404 bardzo nie pasuje, bo de facto - jest to przenoszenie błędów/informacji o nich - innego serwisu (B w tym wypadku) do serwisu A. A jestem przeciwny rozlewania się odpowiedzialności serwisów na kilka na raz, tutaj jak muszę robić taką głupią przerzutkę z B do A i na front, to czuje że tak naprawdę to jest komunikacja frontu z B a ten serwis A jest bez sensu.
Z kolei, serwis A dostając od B 404, działa poprawnie, nic się nie wywala, nie odpala się jakaś alternatywna logika itd itp.
Pytanie, jak wy byście to ograli? Być może 204 jest tutaj rozwiązaniem wszystkich wątpliwości?
ps. Brak większego kontekstu biznesowego, developer kończąc zadanko musiał zdecydować się na jakiś kod.