4
respostas

Erro ao solicitar a lista de topicos a API

Similar ao tópico: Erro ao executar o endpoint /topicos com model TopicoDTO

No momento de construir a Lista de objetos TopicosDto ele identifica que os tópicos passados etão com id nulo, segue erro abaixo:

java.lang.NullPointerException: null at br.com.alura.forum.controller.dto.TopicoDto.(TopicoDto.java:17) ~[classes/:na] at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[na:1.8.0_221] (etc..)

Linhas de 16 a 21 da classe TopicoDto

public TopicoDto(Topico topico) { this.id = topico.getId(); this.titulo = topico.getTitulo(); this.mensagem = topico.getMensagem(); this.dataCriacao = topico.getDataCriacao(); }

segui rigorosamente o passo a passo dos videos

4 respostas

Oi Renato,

Coloca aqui como está o código do seu controller.

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());
}

}

Oi,

Coloquem aqui tambem a classe Topico de voces. Talvez o problema esteja nela.

oi eu ja passei batido dessa aula, eu tentei resolver , como não consegui eu baixei o projeto da aula e dei continuidade aos estudos