try handling example custom catch advice java rest jersey

java - example - spring security exception handling



Manejo global de excepciones en Jersey (2)

Sí. JAX-RS tiene un concepto de ExceptionMappers. Puede crear su propia interfaz ExceptionMapper para mapear cualquier excepción a una respuesta. Para obtener más información, consulte: https://jersey.github.io/documentation/latest/representations.html#d0e6352

¿Hay alguna forma de manejar excepciones globales en Jersey? En lugar de recursos individuales que tienen bloques try / catch y luego llaman a algún método que desinfecta todas las excepciones que se enviarán de vuelta al cliente, esperaba que hubiera una forma de expresar esto en el lugar donde realmente se llaman los recursos. ¿Esto es posible? ¿Si es así, cómo?

En lugar de, donde sanitize(e) lanzaría algún tipo de excepción configurada en Jersey al servlet de Jersey:

@GET public Object getStuff() { try { doStuff(); } catch (Exception e) { ExceptionHandler.sanitize(e); } }

Teniendo:

@GET public Object getStuff() throws Exception { doStuff(); }

donde la excepción sería arrojada a algo que yo puedo interceptar y llamar sanitize(e) desde allí.

Esto es realmente solo para simplificar todos los recursos de Jersey y para garantizar que las excepciones que regresan al cliente siempre estén en algún tipo de forma comprensible.