API RESTful para leitura da lista de indicados e vencedores da categoria Pior Filme do Golden Raspberry Awards.
A aplicação foi desenvolvida utilizando Java 11, com Spring Boot. Para o banco de dados, é utilizado um H2 em memória e os dados não são salvos ao reiniciar.
Ao iniciar a aplicação, a tabela AWARD é preenchida automaticamente com os dados do arquivo /src/main/resources/movielist.cvs, seguindo o cabeçalho abaixo. Apenas o campo winner não é obrigatório, ou seja, a aplicação não irá inserir os dados corretamente caso tente inserir valores nulos nos demais campos.
year;title;studios;producers;winner
Assim que a aplicacão inicia, o método populateTables() da classe AwardService é chamado para popular a tabela de produtores, separando cada produtor em uma linha distinta. Em seguida, é populada outra tabela apenas com os intervalos dos produtores premiados.
Ao chamar a rota GET /api/award-intervals, a aplicação irá buscar todos produtores que tiveram o menor e maior intervalo de tempo entre premios.
Retorna duas listas de produtores, contendo os menores e maiores (min e max, respectivamente) intervalos de premiações
GET /api/award-intervals{
"min": [
{
"producer": "Producer 1",
"interval": 1,
"previousWin": 2008,
"followingWin": 2009
},
{
"producer": "Producer 2",
"interval": 1,
"previousWin": 2018,
"followingWin": 2019
}
],
"max": [
{
"producer": "Producer 1",
"interval": 99,
"previousWin": 1900,
"followingWin": 1999
},
{
"producer": "Producer 2",
"interval": 99,
"previousWin": 2000,
"followingWin": 2099
}
]
}Clone o projeto
git clone git@github.com:marcoputon/movie-api.gitEntre no diretório do projeto
cd movie-apiRode os testes
mvn testInicie o servidor
mvn spring-boot:run