1
resposta

[Dúvida] Mão na massa: retornando os top episódios de uma série

fiz dessa maneira porem meu front and não esta atualizando alguem pode me ajudar?

  ``@GetMapping("/{id}/temporadas/top")
    public List<EpisodioDTO> obterTop(@PathVariable Long id,Serie serie){
        return servico.obtertop5(id,serie);
    }
      public List<EpisodioDTO> obtertop5(Long id,Serie serie) {
        obterTodasTemporadas(id);
        return conversor(repositorio.topEpisodiosPorSerie(serie));


    }
    public List<EpisodioDTO> conversor(List<Episodio> episodios){
        return  episodios.stream().map(e -> new EpisodioDTO(e.getNumeroTemporada(),e.getEpisodio(),e.getTitulo())).collect(Collectors.toList());
    }
}
1 resposta

Oii Wesley, como vai? Espero que sim!

Primeiramente, gostaria de sugerir que você verifique se o método obterTop está sendo chamado corretamente pelo front-end. É importante garantir que a requisição HTTP está sendo enviada corretamente para o endpoint correto e com o ID da série apropriado.

Além disso, no seu método obterTop, você está passando um objeto Serie como parâmetro, mas ele não parece estar sendo usado diretamente para buscar os episódios top. Se a intenção é usar o ID da série para buscar as temporadas e, em seguida, os episódios, talvez você não precise desse parâmetro Serie. Em vez disso, você pode ajustar o método obtertop5 para usar apenas o ID da série, algo assim:

@GetMapping("/{id}/temporadas/top")
public List<EpisodioDTO> obterTop(@PathVariable Long id){
    return servico.obtertop5(id);
}

public List<EpisodioDTO> obtertop5(Long id) {
    Serie serie = obterSeriePorId(id); // Supondo que você tenha um método para obter a série pelo ID
    obterTodasTemporadas(id); // Verifique o que esse método faz e se ele é necessário aqui
    return conversor(repositorio.topEpisodiosPorSerie(serie));
}

Certifique-se também de que o método obterTodasTemporadas(id) está funcionando conforme esperado e que ele não está interferindo na lógica de obter os episódios top.

Outro ponto importante é verificar se o método repositorio.topEpisodiosPorSerie(serie) está retornando os dados corretos. Você pode adicionar alguns logs ou usar um debugger para ver o que está sendo retornado por esse método.

Por fim, no seu front-end, certifique-se de que após a chamada para o endpoint, o estado ou os dados que armazenam os episódios estão sendo atualizados corretamente para refletir as novas informações recebidas.

Espero ter ajudado!

Caso tenha dúvidas, fico à disposição.

Abraços e bons estudos!