Cześć.
Mam aplikację w Spring 4 która poprzez RestTemplate Springowe pobiera obiekty z zewnętrznego Api.
W tej chwili jest to rozwiązane w sposób mniej więcej taki, że jest klasa, która filtruje wyjątki, raportuje do bazy i jesli przyjdzie jakikolwiek wyjątek z Api to zwraca pusty obiekt do kodu dalej. Oczywiście metoda filtrująca jest wywoływana w kodzie kiedy chcę pobrać dane z api.
class SomeObject {
}
class Service {
public SomeObject getObjectFromApi() {
return //someObjectFromApi;
}
}
class ExceptionFilter {
Service service = new Service();
SomeObject findAndFilterException() {
try {
return service.getObjectFromApi();
}catch (Exception e){
// report to database
}
return new SomeObject();
}
}
Chciałbym to zmienić tzn usunąć klase filtrującą, dodać ExceptionHandler, który będzie tylko i wyłącznie raportował do bazy wyjątek, natomiast pusty obiekt ma być zwracany w kodzie w try catch (tam jeszcze obiekt jest mapowany na inny obiekt i dopiero wysyłany na front). Pytanie jak i czy się da wrapować wszystkie wyjątki, które przychodzą z Api zewnętrznego na mój CustomException. Na koniec pytanie czy to podejście według was będzie lepsze od dotychczasowego? Zaczynam mieć watpliwości.