Eu tambem estou com o mesmo problema..tomando null pointer...
Controller
package br.com.alura.forum.controller;
import java.util.Arrays;
import java.util.List;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import br.com.alura.forum.controller.dto.TopicoDto;
import br.com.alura.forum.model.Curso;
import br.com.alura.forum.model.Topico;
@RestController
public class TopicosController {
@RequestMapping("/topicos")
@ResponseBody
public List<TopicoDto>lista(){
Topico topico = new Topico("Duvida","Duvida com Spring",new Curso("Spring ","Programação"));
return TopicoDto.converter (Arrays.asList(topico,topico,topico));
}
}
DTO
package br.com.alura.forum.controller.dto;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
import br.com.alura.forum.model.Topico;
public class TopicoDto {
private long id;
private String titulo;
private String mensagem;
private LocalDateTime dataCraiacao;
public TopicoDto(Topico topico) {
this.id = topico.getId();
this.titulo = topico.getTitulo();
this.mensagem = topico.getMensagem();
this.dataCraiacao = topico.getDataCriacao();
}
public long getId() {
return id;
}
public String getTitulo() {
return titulo;
}
public String getMensagem() {
return mensagem;
}
public LocalDateTime getDataCraiacao() {
return dataCraiacao;
}
public static List<TopicoDto> converter(List<Topico> topicos) {
return topicos.stream().map(TopicoDto::new).collect(Collectors.toList());
}
}