Java 8, Spring Boot 2.1.4, MongoDB, JUnit e Redis.
Para utilizar deverá ter o Docker e o Java SDK 8 instalados e executar os seguintes comandos dentro da raiz do projeto:
./start-docker-compose.sh up
mvn spring-boot:run
Assim a aplicação estará rodando. O script do docker apenas sobe o MongoDb e o Redis.
Para adicionar um planeta deve ser feita uma requisição post em json para o endpoint "/planets".
Ex: POST http://localhost:8080/planet
{
"name":"planet",
"climate":"climate",
"terrain": "terrain"
}
O objeto criado será retornado junto com o id criado. Um planete cujo nome não aparece no universo do Star Wars é criado com uma quantidade de aparições igual a 0.
Fazer uma solicitação get para o endpoint "/planet".
Ex: GET http://localhost:8080/planet
Será retornado todos os planetas inseridos no banco de dados. Possuindo id, nome, clima, terreno e quantidade de aparições.
Fazer uma solicitação get para o endpoint "/planet/findAll/swapi".
Ex: GET http://localhost:8080/planet/findAll/swapi
Será retornado todos os planetas inseridos na Api do Star Wars com todas as suas informações.
Fazer uma uma solicitação get para o endpoint "/planet/{ID}", substituir {ID} pelo ID que deseja buscar.
Ex: GET http://localhost:8080/planet/{ID}
Caso seja inserida uma id inválida, será retornado o erro 404 não encontrado.
Fazer uma solicitação get para o endpoint "/planet/findByName?name={NOME}", substituir {NOME} pelo nome que deseja buscar.
Ex: GET http://localhost:8080/planet/findByName?name={NOME}
Caso seja inserida um nome inválido, será retornado o erro 404 não encontrado.
Fazer uma solicitação delete para o endpoint "/planet/{ID}" indicando a ID do planeta no final do endpoint.
Ex: DELETE http://localhost:8080/planetas/1
Caso seja inserida uma id inválida, será retornado o erro 404 não encontrado.