Aós realizar esta aula, ao tentar bater na topicos/1 ele dá este erro, batento em /topicos aparece tudo normal.
2019-08-16 10:15:59.031 WARN 14964 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class br.com.alura.forum.controller.dto.DetalhesDoTopicoDto]
TopicosController
@GetMapping("/{id}")
public DetalhesDoTopicoDto detalhar(@PathVariable Long id) {
Topico topico = topicoRepository.getOne(id);
return new DetalhesDoTopicoDto(topico);
}
Detalhes do topico dto
package br.com.alura.forum.controller.dto;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import br.com.alura.forum.modelo.StatusTopico;
import br.com.alura.forum.modelo.Topico;
public class DetalhesDoTopicoDto {
private Long id;
private String titulo;
private String mensagem;
private LocalDateTime dateCriacao;
private String nomeAutor;
private StatusTopico status;
private List<RespostaDto> respostas;
public DetalhesDoTopicoDto(Topico topico) {
this.id = topico.getId();
this.titulo = topico.getTitulo();
this.mensagem = topico.getMensagem();
this.dateCriacao = topico.getDataCriacao();
this.nomeAutor = topico.getAutor().getNome();
this.status = topico.getStatus();
this.respostas = new ArrayList<>();
this.respostas.addAll(topico.getRespostas().stream().map(RespostaDto::new).collect(Collectors.toList()));
}
}
RespostaDto
package br.com.alura.forum.controller.dto;
import java.time.LocalDateTime;
import br.com.alura.forum.modelo.Resposta;
public class RespostaDto {
private Long id;
private String mensagem;
private LocalDateTime dataCriacao;
private String nomeAutor;
public RespostaDto(Resposta resposta) {
this.id = resposta.getId();
this.mensagem = resposta.getMensagem();
this.dataCriacao = resposta.getDataCriacao();
this.nomeAutor = resposta.getAutor().getNome();
}
public Long getId() {
return id;
}
public String getMensagem() {
return mensagem;
}
public LocalDateTime getDataCriacao() {
return dataCriacao;
}
public String getNomeAutor() {
return nomeAutor;
}
}