Preautorizar el manejo de errores

Estoy usandoSpring Oauth2 ySpring Pre-post Annotations ConSpring-boot

Tengo una clase de servicioMyService. uno deMyService los métodos son:

@PreAuthorize("#id.equals(authentication.principal.id)")
public SomeResponse getExampleResponse(String id){...}

¿Puedo controlar de alguna manera el json que devuelve el controlador de llamada?

El json que se devuelve por defecto es:

{error : "access_denied" , error_message: ".."}

Quiero poder controlar elerror_message param. Estoy buscando algo similar a:

@PreAuthorize(value ="#id.equals(authentication.principal.id)", onError ="throw new SomeException("bad params")")
public SomeResponse getExampleResponse(String id){...}

Una forma en que pensé en hacerlo es usandoExceptionHandler

@ExceptionHandler(AccessDeniedException.class)
public Response handleAccessDeniedException(Exception ex, HttpServletRequest request){
    ...
}

pero no puedo controlar elmessage de la excepción y tampoco puedo estar seguro de que estoException será lanzado en futuras versiones

Respuestas a la pregunta(2)

Su respuesta a la pregunta