Подтвердить что ты не робот

PreAuthorize обработка ошибок

Я использую Spring Oauth2 и Spring Pre-post Annotations С Spring-boot

У меня есть класс обслуживания MyService. один из методов MyService:

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

Я могу каким-то образом управлять json, который возвращается контроллером вызывающего абонента?

json, который возвращается по умолчанию:

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

Я хочу иметь возможность управлять параметром error_message. Я ищу что-то похожее на:

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

Один из способов, который я думал сделать, - использовать ExceptionHandler

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

но я не могу управлять message исключения. и я не могу быть уверен, что этот Exception будет выпущен в будущих выпусках

4b9b3361