Voglio usare un modo generico per gestire i codici di errore 5xx, diciamo in particolare il caso in cui il db è inattivo in tutta la mia applicazione primaverile. Voglio un json di errore piuttosto che una traccia dello stack.
Per i controller ho una @ControllerAdviceclasse per le diverse eccezioni e questo è anche il caso in cui il db si sta fermando nel mezzo della richiesta. Ma questo non è tutto. Mi capita anche di avere CorsFilterun'estensione personalizzata OncePerRequestFiltere lì quando chiamo doFilterricevo il CannotGetJdbcConnectionExceptione non sarà gestito dal @ControllerAdvice. Ho letto molte cose online che mi hanno solo reso più confuso.
Quindi ho molte domande:
- Devo implementare un filtro personalizzato? Ho trovato il
ExceptionTranslationFilterma questo gestisce soloAuthenticationExceptionoAccessDeniedException. - Ho pensato di implementare il mio
HandlerExceptionResolver, ma questo mi ha fatto dubitare, non ho alcuna eccezione personalizzata da gestire, deve esserci un modo più ovvio di questo. Ho anche provato ad aggiungere un try / catch e chiamare un'implementazione diHandlerExceptionResolver(dovrebbe essere abbastanza buono, la mia eccezione non è niente di speciale) ma questo non restituisce nulla nella risposta, ottengo uno stato 200 e un corpo vuoto.
C'è un buon modo per affrontare questo problema? Grazie