Я пытаюсь создать пользовательское исключение в WebFlux во время аутентификации и обработать его с помощью ControllerAdvice (@ExceptionHandler
). К сожалению, он не распространяется, я получаю либо HTTP 500, если я выбрасываю исключение, либо HTTP 401, если я возвращаю исключение как Mono.error ()
@Override //in authentication service
public Mono<UserDetails> findByUsername(String username) {
//find user by username from database,
//if not enabled, throw a custom exception,
//if doesn't exist, throw UsernameNotFoundException,
//return org.springframework.security.core.userdetails.User otherwise.
}
@ExceptionHandler //in controller advice
public Mono<HttpStatus> handleException(MyCustomExceptionThrownFromFindByUsername ex) {
//implemented
}
Есть ли способ помочь исключению попасть в ExceptionHandler?