Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[RESOLUÇÃO] As Temporadas das séries não aparecem

Talvez você ainda não tenha cadastrado os episódios das suas séries, e na classe Episódio, que é a tabela usada, contém as temporadas, então, siga estes passos:

Adicione o metodo run de novo com CommandLineRunner e exiba o menu da classe principal

@SpringBootApplication
public class ScreenmatchApplication implements CommandLineRunner {

    @Autowired
    private SerieRepository repository;

    public static void main(String[] args) {
        SpringApplication.run(ScreenmatchApplication.class, args);
    }


    @Override
    public void run(String... args) throws Exception {
        Principal principal = new Principal(repository);

        principal.exibeMenu();
    }
}

Ao fazer isso, irá aparecer o seu menu, e use a opcão de cadastrar episódio, e cadastre todas as suas séries.

Também verifique a classe EpisodioDTO e veja se ela está com os atributos corretos

public record EpisodioDTO(Integer temporada, Integer numeroEpisodio, String titulo){
}

Veja se o front-end contém os nomes corretos das classes

function carregarTemporadas() {
    getDados(`/series/${serieId}/temporadas/todas`)
        .then(data => {
            const temporadasUnicas = [...new Set(data.map(temporada => temporada.temporada))];
            listaTemporadas.innerHTML = ''; // Limpa as opções existentes

            const optionDefault = document.createElement('option');
            optionDefault.value = '';
            optionDefault.textContent = 'Selecione a temporada'
            listaTemporadas.appendChild(optionDefault); 
           
            temporadasUnicas.forEach(temporada => {
                const option = document.createElement('option');
                option.value = temporada;
                option.textContent = temporada;
                listaTemporadas.appendChild(option);
            });

            const optionTodos = document.createElement('option');
            optionTodos.value = 'todas';
            optionTodos.textContent = 'Todas as temporadas'
            listaTemporadas.appendChild(optionTodos); 
        })
        .catch(error => {
            console.error('Erro ao obter temporadas:', error);
        });
}

Remova o metodo run, o implement e o AutoWired junto com a classe instanciada e teste seu programa.

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Oi, Matheus! Como vai?

Me chamou atenção como você revisou o CommandLineRunner, o DTO e o front para garantir que as temporadas fossem carregadas corretamente. Essa visão ampla do fluxo ajuda muito quando a API não entrega exatamente o que o front espera.

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