2
respostas

não Esta trazendo dados de temporadas/episodios front

Não esta trazendo os dados de selecionar temporadas e numero do episodio.......... apenas nas series de lançamentos aparece a opçaõ de selecionar todas as temporadas e numeros de espisodios . Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

@GetMapping("/{id}/temporadas/{numero}")
    public List<EpisodiosDTO> getTemporadasPorNumero(@PathVariable Long id, @PathVariable Long numero){
        return  servico.obterTemporadasPorNumero(id,numero);
    }
    
    
    public List<EpisodiosDTO> obterTemporadasPorNumero(Long id, Long numero) {
        return repository.buscarEpisodiosPorTemporada(id, numero)
                .stream()
                .map(ep -> new EpisodiosDTO(ep.getTemporada(), ep.getTitulo(),ep.getNumeroEpisodio()))
                .collect(Collectors.toList());
    
    public record EpisodiosDTO(
        Integer temporada,
        String titulo,
        Integer numeroEpisodio
        ) {
}
    
    
    @Query("SELECT e FROM Serie s JOIN s.episodios e WHERE s.id = :id AND e.temporada = :numero")
  List<Episodios> buscarEpisodiosPorTemporada(Long id ,Long numero);
2 respostas

Oi, Leo, tudo bem?

Vamos aos erros:

O erro Erro 404 no GET Request indica que o recurso solicitado não foi encontrado no servidor. Isso pode acontecer se o endpoint não estiver certo ou se o id da série/número da temporada não existir no banco de dados.

Você pode checar se o id da série e o número da temporada realmente existe. Além disso, veja também se o mapeamento da URL está feito direitinho no seu controller.

Já o Erro "TypeError: data.map is not a function" aparece quando você tenta usar a função map em algo que não é um array. Isso pode acontecer se a resposta da API não estiver retornando um array como esperado. Verifique o que está sendo retornado pela API. Você pode fazer isso com um console.log(data). Se a API estiver retornando null ou um objeto ao invés de um array, você precisa ajustar.


Outras recomendação que posso deixar é verificar o Back-end: é importante que consulta ao banco de dados esteja retornando os dados certos. Você pode adicionar logs no método obterTemporadasPorNumero para ver o que o repositório retorna.

Se outra dúvida surgir, estamos disponíveis aqui.

Abraços e bons estudos!

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

Olá, também estava encontrando esse erro. No meu caso foi por causa de um erro de digitação no código do controller.