Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
2
respostas

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!