Sto utilizzando Spring 4 e Tomcat. Il problema è che a volte devo lanciare una RuntimeException (personalizzata) nel mio filtro (il controllo non ha nemmeno raggiunto il controller). Il problema è che non sto lanciando un'eccezione che Tomcat capisce, viene convertita in 500 (errore interno del server). Credo che un Proibito 403 sarebbe meglio di un 500 (Per la mia eccezione personalizzata). Ho dato un'occhiata alle annotazioni @ExceptionHandler
e @ControllerAdvice
. Ma funzionano solo se il controllo raggiunge il controller.Come gestire le eccezioni generate nei filtri?
A partire da ora sto impostando manualmente lo stato su 403 nel HTTPResponse
nel mio filtro. C'è un modo migliore per gestire questo scenario?
Check out [questo post SO] (http://stackoverflow.com/questions/29914717/servlet-filter-specific-exception-handling-in-java). Puoi estendere il filtro e gestire l'eccezione in super. –
@TimBiegeleisen - Bene, ora sto seguendo un approccio simile :). Grazie per aver indicato quel post. – TheLostMind
@TimBiegeleisen Mi sono imbattuto in un problema simile e ho pubblicato una soluzione che potrebbe interessarti qui https://stackoverflow.com/questions/34595605/how-to-manage-exceptions-thrown-in-filters-in-spring/ 43242424 – Raf