Estou tentando devolver um erro customizado como resposta para o cliente, porém ele continua respondendo aquele JSON com a stacktrace e tudo.
Segue código das classes
TopicoController.java
// código acima omitido
@GetMapping("/{id}/test")
public ResponseEntity<TopicoDto> testando(@PathVariable Long id) {
throw new TestErroException("INCOMPLETO", "Não foi possível porque está incompleto");
}
//código abaixo omitido
TestErroException.java
public class TestErroException extends RuntimeException {
private String status;
private String message;
private LocalDateTime dateTime = LocalDateTime.now();
public TestErroException(String status, String message) {
this.status = status;
this.message = message;
}
// gets omitidos
ErroDeValidacao.java
@ResponseStatus(code = HttpStatus.NOT_FOUND)
@ExceptionHandler(TestErroException.class)
public TestErroException handleTestErroException(TestErroException exception) {
System.out.println("Estou entrando no método handle para resolver a exception lançada no controller");
return exception;
}
Ele entra no handler dessa exception, consegue fazer o sysout no console só que o retorno é aquele JSON completo que o professor mostrou no vídeo anterior.
Eu percebi que no final daquele JSON completo, ele incluiu os campos que se referem ao meu objeto de erro customizado.