Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Por que usar if(optional.isPresent()) ao invés de @ExceptionHandler para tratar a exceção lancada pelo getOne ?

Por que não usar o código abaixo ao invés dos ifs checando se optional está presente? implementei aqui e não vi problemas, existe algum motivo para não ter sido usado nesse caso ? Obrigado =D

@ResponseStatus(code = HttpStatus.NOT_FOUND)
@RestControllerAdvice
public class EntityNotFoundHandler 
{
    @ExceptionHandler(EntityNotFoundException.class)
    public ResponseEntity<?> handle(EntityNotFoundException exception)
    {
        return ResponseEntity.notFound().build();
    }
}
2 respostas
solução

Oi Geovan,

Não tem um motivo específico. Foi apenas uma das soluções possíveis.

Pode ser perfeitamente do jeito que você mostrou com o ControllerAdvice.

Bons estudos!

Entendi, o questionamento era mais pra ver se eu entendi a ideia do ControllerAdvice. Obrigado!