Olá,
Testo o H2 console e os dados estão inseridos na tabela, porém quando subo a aplicação e testo localhost:8080/topicos ele me retorna nulo...o que pode estar acontecendo?
Olá,
Testo o H2 console e os dados estão inseridos na tabela, porém quando subo a aplicação e testo localhost:8080/topicos ele me retorna nulo...o que pode estar acontecendo?
Oi Carolina,
Posta aqui o codigo da classe TopicosCntroller
e da classe TopicosDto
.
package br.com.alura.forum.controller;
import br.com.alura.forum.modelo.Curso;
import br.com.alura.forum.modelo.Topico;
import br.com.alura.forum.repository.TopicosRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
@RestController
public class TopicosController {
@Autowired
private TopicosRepository topicosRepository;
@RequestMapping("/topicos")
public List<TopicosDto> lista() {
List<Topico> topicos = topicosRepository.findAll();
return TopicosDto.converter(topicos);
}
}
package br.com.alura.forum.controller;
import br.com.alura.forum.modelo.Topico;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
public class TopicosDto {
private Long id;
private String titulo;
private String mensagem;
private LocalDateTime dataCriacao;
public TopicosDto(Topico topico) {
this.id = id;
this.titulo = titulo;
this.mensagem = mensagem;
this.dataCriacao = dataCriacao;
}
public static List<TopicosDto> converter(List<Topico> topicos) {
return topicos.stream().map(TopicosDto::new).collect(Collectors.toList());
}
public Long getId() {
return id;
}
public String getTitulo() {
return titulo;
}
public String getMensagem() {
return mensagem;
}
public LocalDateTime getDataCriacao() {
return dataCriacao;
}
}
Tem um erro no seu construtor:
public TopicosDto(Topico topico) {
this.id = id;
this.titulo = titulo;
this.mensagem = mensagem;
this.dataCriacao = dataCriacao;
}
Ele deveria estar assim:
public TopicosDto(Topico topico) {
this.id = topico.getId();
this.titulo = topico.getTitulo();
this.mensagem = topico.getMensagem();
this.dataCriacao = topico.getDataCriacao();
}
poxa era isso :/ muito obrigada :D