Este projeto é resultado do curso "Java: criando sua primeira API e conectando ao front-end" do Programa ONE Oracle + Alura. O objetivo foi criar uma API REST para fornecer dados a uma aplicação front-end, exercitando conceitos essenciais do desenvolvimento web com Java e Spring Boot.
Inicialmente, criei a aplicação Cineflix em Java usando Spring Boot. Em seguida, implementei a integração com a API OMDb para buscar dados de séries, armazenando essas informações em um banco de dados relacional. Devido ao fato da API OMDb retornar as sinopses no idioma de origem das séries, utilizei a API MyMemory para traduzir essas sinopses para o português, garantindo uma melhor experiência ao usuário final.
Para transformar a aplicação em uma API REST, adicionei a dependência Web ao projeto e configurei o TomCat como servidor local para gerenciar requisições. Criei a classe Controller para receber e processar as requisições, utilizando anotações como @RestController, @RequestMapping e @GetMapping para mapear rotas e endpoints. Também implementei uma classe de serviço anotada com @Service para fornecer dados ao controlador, separando as responsabilidades e promovendo uma arquitetura mais limpa e modular.
Por fim, habilitei as conexões com o front-end fornecido pela Alura, permitindo que a aplicação retornasse as informações armazenadas no banco de dados para serem exibidas no navegador. Finalizei a implementação de todas as rotas necessárias, permitindo a visualização das séries, a filtragem por categorias e o acesso a uma página de detalhes com informações completas sobre temporadas e episódios.
- API REST: Transformação da aplicação Cineflix em uma API REST.
- Spring Boot: Utilização do Spring Boot para configurar e executar a aplicação com um servidor embutido.
- Controller: Criação da classe responsável por receber as requisições.
- Anotações Spring: Utilização de @RestController, @RequestMapping, @GetMapping, entre outras.
- Serviços: Implementação de classes de serviço com @Service para fornecer dados ao controlador.
- Rotas e Requisições: Implementação completa das rotas esperadas pelo front-end.
- Filtros e Detalhes: Criação de filtros por categorias e páginas de detalhes com dados de todas as temporadas e episódios.