мм.. может я туплю....
если я бросаю своё исключение в котнтроллере, то всё красиво возвращается:
@RequestMapping(method = RequestMethod.POST, value = "/auth/login/")
public ResponseEntity login(@RequestBody UserDetailsRequestDto requestDto, HttpServletResponse response) {
try {
...
authManager.authenticate(new UsernamePasswordAuthenticationToken(login, requestDto.getPassword()));
....
} catch (AuthenticationException e) {
throw new ConverterAppException(ErrorMessages.BAD_CREDENTIALS.getErrorMessage());
}
}
->
{ "timestamp": "2021-05-04T16:55:27.494+00:00",
"message": "Invalid username or password" }
А если исключение при валидации токена в утилитном класса, то в ответ ловлю html со стектрейсом и прочими ужасами.
public boolean validateToken(String token) throws ConverterAppException {
try {
.....
} catch (JwtException | IllegalArgumentException e) {
throw new ConverterAppException(ErrorMessages.JWT_TOKEN_INVALID.getErrorMessage());
}
}
хотя в приложении есть хендлер:
@RestControllerAdvice
public class ConverterAppExceptionsHandler {
@ExceptionHandler(value = {ConverterAppException.class})
public ResponseEntity<Object> handleException(ConverterAppException ex, WebRequest request) {
ErrorMessage error = new ErrorMessage(new Date(), ex.getMessage());
return ResponseEntity
.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(error);
}
где туплю, не пойму...