Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Prototipo
1 Prototipo
crm;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Anime {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
public Anime() {
// Construtor padrão necessário para deserialização JSON
}
public Anime(String titulo, String genero, int ano, int episodios, boolean
filme) {
this.titulo = titulo;
this.genero = genero;
this.ano = ano;
this.episodios = episodios;
this.filme = filme;
}
// Getters e Setters
package com.filme.crm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/v1/animes")
public class AnimeController {
@Autowired
private AnimeService animeService;
@GetMapping
public List<Anime> listarAnimes() {
return animes;
}
@PostMapping
public void adicionarAnime(@RequestBody Anime anime) {
animeService.adicionarAnime(anime);
}
@GetMapping("/filtrar")
public List<Anime> filtrarAnimes(@RequestParam(required = false) String genero,
@RequestParam(required = false) Integer ano,
@RequestParam(required = false) Integer
episodios,
@RequestParam(required = false) Boolean filme)
{
return animeService.filtrarAnimes(genero, ano, episodios, filme);
}
}
package com.filme.crm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@SpringBootApplication
@Service
@RestController
@RequestMapping("/v1/animes-filter")
@Autowired
private AnimeService animeService;
@GetMapping
public List<Anime> listarAnimes() {
return animes;
}
@PostMapping
public void adicionarAnime(@RequestBody Anime anime) {
animeService.adicionarAnime(anime);
}
@GetMapping("/filtrar")
public List<Anime> filtrarAnimes(@RequestParam(required = false) String genero,
@RequestParam(required = false) Integer ano,
@RequestParam(required = false) Integer
episodios,
@RequestParam(required = false) Boolean filme)
{
return animeService.filtrarAnimes(genero, ano, episodios, filme);
}
}
package com.filme.crm;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class AnimeService {
package com.filme.crm.repositorio;
import java.util.List;
import com.filme.crm.Anime;
import org.springframework.data.jpa.repository.JpaRepository;
public interface AnimeRepository extends JpaRepository<Anime, Long> {