Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Duvida sobre erro no localhost

Quando abro o localhost:8080/series, ele me retorna apenas [], não consegui identificar o erro. package br.com.alura.screenmatch.controller;

import br.com.alura.screenmatch.dto.SerieDTO; import br.com.alura.screenmatch.repository.SerieRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;

import java.util.List; import java.util.stream.Collectors;

@RestController public class SerieController { @Autowired private SerieRepository repository;

@GetMapping("/series")
public List<SerieDTO> obterSeries(){
    return repository.findAll()
            .stream()
            .map(s -> new SerieDTO(s.getId(), s.getTitulo(),s.getTotalTemporadas(),s.getAvaliacao(),s.getGenero(),s.getAtores(),s.getPoster(),s.getSinopse()))
            .collect(Collectors.toList());
}

}

package br.com.alura.screenmatch.repository;

import br.com.alura.screenmatch.model.Categoria; import br.com.alura.screenmatch.model.Episodio; import br.com.alura.screenmatch.model.Serie; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query;

import java.util.List; import java.util.Optional;

public interface SerieRepository extends JpaRepository<Serie,Long> { OptionalfindByTituloContainingIgnoreCase(String nomeSerie);

List<Serie> findByAtoresContainingIgnoreCaseAndAvaliacaoGreaterThanEqual(String nomeAutor, Double avalicao);

List<Serie> findTop5ByOrderByAvaliacaoDesc();

List<Serie> findByGenero(Categoria categoria);


@Query("select s from Serie s WHERE s.totalTemporadas <= :totalTemporadas AND s.avaliacao >= :avaliacao")
List<Serie> seriesPorTemporadaEAvaliacao(int totalTemporadas, double avaliacao);


@Query("SELECT e FROM Serie s JOIN s.episodios e  WHERE e.titulo ILIKE %:trechoEp%")
List<Episodio> episodiosPorTrecho(String trechoEp);

@Query("SELECT e FROM Serie s JOIN s.episodios e WHERE s = :serie ORDER BY e.avaliacao DESC  LIMIT 5")
List<Episodio> topEpisodiosPorSerie(Serie serie);

@Query("SELECT e FROM Serie s JOIN s.episodios e WHERE s = :serie AND YEAR( e.dataLancamento) >= :anoLancamento")
List<Episodio> episodiosPorTrecho(Serie serie, int anoLancamento);

}

2 respostas
solução!

o erro era no banco de dados, estava sem informações.

Oi Gustavo, tudo bem?

Que bom que conseguiu resolver o problema. Irei finalizar seu tópico.

Um abraço e bons estudos.