1
resposta

[Bug] meu numero de episodios não aparece

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

@GetMapping ("/{id}/temporadas/todas")

   public List<EpisodioDTO> obterTodasAsTemporadas (@PathVariable Long id){
   return  service.obterTodasAsTemporadas(id);

}
package br.com.alura.screenmatch.dto;

public record EpisodioDTO(Integer temporada, Integer numeroEpisodio, String titulo) {
}
public List<EpisodioDTO> obterTodasAsTemporadas(Long id) {
        Optional<Serie> serie = repository.findById(id);
        if (serie.isPresent()) {
            Serie s = serie.get();
            return s.getEpisodios().stream()
                    .map(e -> new EpisodioDTO(e.getTemporada(), e.getNumeroEpisodio(), e.getTitulo()))
                    .collect(Collectors.toList());
        }
        return null;
    }
}
1 resposta

Olá, Caua! Tudo bem?

Isso pode estar acontecendo por algumas razões:

  1. Dados nulos no banco de dados: Verifique se os dados dos episódios no banco de dados estão corretos e se o campo numeroEpisodio está preenchido.

  2. Mapeamento incorreto: Certifique-se de que o método getNumeroEpisodio() no seu modelo Episodio está retornando o valor correto. Pode ser útil verificar se o mapeamento entre a entidade e o banco de dados está correto.

  3. Problema no DTO: Verifique se o EpisodioDTO está sendo preenchido corretamente. Você pode adicionar um System.out.println() ou usar um debugger para inspecionar os valores que estão sendo passados para o construtor do EpisodioDTO.

Espero que essas dicas ajudem a resolver o problema! Mas caso não resolvam, peço que envie todo o seu projeto para o GitHub ou Drive do Google e compartilhe o link aqui. Pois, assim, poderei testar diversas possibilidades para resolver o problema.

Bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!