Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Validação do erro 404

Olá, não sei si minha lógica está certa, mas estou tentando retornar o erro 404 quando um id não existe, mas está retornando o código 500 que eu acho que não é apropriado para este tipo de situção porque não e um erro de servidor e sim que não foi encontrado um determinado dado.

já tentei de varias formas, com EntityResponse.status(404).body(E), também passando o @ResponseStatus(code = HttpStatus.NOT_FOUND), mas nenhum está dando certo.

@ExceptionHandler(EntityNotFoundException.class)
@ResponseStatus(code = HttpStatus.NOT_FOUND)
public StandardError entityNotFound(EntityNotFoundException exception){
    String message = messageSource.getMessage(exception.getMessage(), null, LocaleContextHolder.getLocale());

    return new StandardError(
            message,
            exception.getClass().getName()
    );
}


a classe está anotada com @ControllerAdvice, a onde estou errando?
2 respostas
solução!

Oi Pablo,

Talvez ele nem esteja passando pelo seu metodo de tratamento de 404 e por isso continua devolvendo 500 pro cliente.

Verifica se esta entrando nesse metodo e tambem se a exception que esta ocorrendo realmente e a EntityNotFoundException.

Olá Rodrigo, era uma anotação que eu tinha feito que tava bugando tudo

#server.error.include-stacktrace=never