Jaki httpCode identyfikujący błąd powinienem zwracać, gdy drugi mikroserwis który jest odpytywany w procesie rzuci błąd?
Czy 500 Internal Server Error jest tutaj ok?
Jaki httpCode identyfikujący błąd powinienem zwracać, gdy drugi mikroserwis który jest odpytywany w procesie rzuci błąd?
Czy 500 Internal Server Error jest tutaj ok?
Co rozumiesz przez błąd?
Btw, przejrzyj sobie kody błędów
http https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
Możesz odpalić fallback jeśli masz i zwrócić 2xx :) a tak to 5xx
500 nigdy nie jest dobrym pomysłem, bo mówi jedynie "autobus się zepsuł". 503 pasuje tu bardziej.
o_O to jest jakieś strasznie dziwne pytanie. Mniej więcej na poziomie jaki error message wyświetlać jak coś nie działa
. Przecież to wszystko zależy od konkretnego przypadku i sytuacji. Może fail drugiego serwisu to w ogóle nie jest problem? Może warto sprawdzic jaki błąd zwrócił ten drugi serwis? Bo jak on mówi np. że jest 400 BAD_REQUEST bo dane które mu przeforwardowałeś są bez sensu, to może warto u ciebie też zwrócić 400? Albo jak on zwraca jakieś 401/403 to podobnie może warto się zastanowić czemu?
Pytasz nas tu o coś, co jest de-facto wymaganiem biznesowym :D
Vincent_zyx napisał(a):
Jaki httpCode identyfikujący błąd powinienem zwracać, gdy drugi mikroserwis który jest odpytywany w procesie rzuci błąd?
Czy 500 Internal Server Error jest tutaj ok?
To zależy ;d
Vincent_zyx napisał(a):
Jaki httpCode identyfikujący błąd powinienem zwracać, gdy drugi mikroserwis który jest odpytywany w procesie rzuci błąd?
Ale czemu wgl chcesz informować świat o tym z jakiego mikroserwisu Twój mikroserwis korzysta?
Ten "drugi mikroserwis" to jest szczegół implementacyjny Twojego mikroserwisu, więc traktuj to tak, jak po prostu jak error w Twoim kodzie. Powinieneś też oczywiście zawsze oprogramować co się ma stać kiedy ten drugi serwis nie odpowie, tak jakby to była integracja z każdym innym serwisem.
piotrpo napisał(a):
500 nigdy nie jest dobrym pomysłem, bo mówi jedynie "autobus się zepsuł". 503 pasuje tu bardziej.
503 byłby dobry gdyby to jego mikroserwis nie wstał; nie ten drugi.