1
resposta

[Dúvida] Apenas uma série sendo listada em "Lançamentos"

Bom dia, estava realizando as aulas e no 03. Mapeando a pag inicial do Screenmatch, na aula que se refere ao "lancamento" percebi que apenas uma das séries estava sendo listada (the boys). Eu até peguei o projeto das instrutoras no git para tentar e mesmo assim, aconteceu a mesma coisa. Alguém teria uma luz do que estou fazendo de errado?

Meu controler:


@RestController
@RequestMapping("/series")
public class SerieController {

    @Autowired
    private SerieService servico;

    @GetMapping
    public List<SerieDTO> obterSeries() {
        return servico.obterTodasAsSeries();
    }

    @GetMapping("/top5")
    public List<SerieDTO> obterTop5Series() {
        return servico.obterTop5Series();
    }

    @GetMapping("/lancamentos")
    public List<SerieDTO> obterLancamentos() {
        return servico.obterLancamentos();
    }

}

Implementações que importam do Service:

    private List<SerieDTO> converteDados(List<Serie> series) {
        return series.stream()
                .map(s -> new SerieDTO(s.getId(), s.getTitulo(), s.getTotalTemporadas(), s.getAvaliacao(), s.getGenero(), s.getActors(), s.getPoster(), s.getSinopse()))
                .collect(Collectors.toList());
    }

    public List<SerieDTO> obterLancamentos() {
        return converteDados(repositorio.findTop5ByOrderByEpisodiosDataLancamentoDesc());
    }

Repository:

List<Serie> findTop5ByOrderByEpisodiosDataLancamentoDesc();

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

1 resposta

Olá Gabriel, bom dia!

Aparentemente o problema pode estar relacionado aos dados que estão sendo retornados do banco. Aqui estão algumas sugestões para investigar e resolver o problema:

  1. Verifique os Dados no Banco: Certifique-se de que há mais de uma série com episódios que possuem a data de lançamento preenchida. Se apenas "The Boys" tem episódios com datas recentes, isso explicaria por que só ela está sendo listada.

  2. Confirme a Lógica de Ordenação: A consulta findTop5ByOrderByEpisodiosDataLancamentoDesc() está correta, mas é importante verificar se os dados no banco estão realmente ordenados como esperado. Você pode fazer isso executando uma consulta direta no banco de dados para ver quais séries têm episódios com as datas mais recentes.

  3. Verifique o Front-End: Se os dados estão corretos no back-end, pode ser que o problema esteja na forma como o front-end está exibindo os dados. Verifique se o front-end está consumindo corretamente o endpoint /lancamentos.

Caso essas sugestões não resolvam o seu problema, peço que compartilhe comigo todo o seu projeto para que eu possa analisar e testar.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.