A Digivice API é uma ferramenta que permite acessar informações sobre Digimons. Ela se integra a uma fonte externa de dados sobre essas criaturas digitais e oferece a flexibilidade de filtrar os resultados com base em critérios como nome e nível. Isso torna a consulta de informações sobre Digimons mais fácil e personalizável para atender às suas necessidades específicas.
- Java 17.0.6
- Spring Boot 3.1.5
- Maven
- IntelliJ
- Requisitos: É preciso ter o Maven e o JDK na versão 17 ou maior, instalados e configurados no sistema.
- Faça o clone do seguinte repositório:
git@github.com:cesarrafaeljunior/digivice_api.git
- Abra a pasta do diretório utilizando o terminal/IDE, estando na raiz do projeto rode o comando para compilar o projeto:
mvn spring-boot:run
- A seguinte mensagem significa que a api está pronto para ser utilizada:
2023-10-29T15:30:29.066-03:00 INFO 13788 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms
- Utilize o Imsonia ou qualquer outro software de chamadas HTTP para testar as rotas da API.
- Documentação da api
-
Faça o clone do seguinte repositório:
git@github.com:cesarrafaeljunior/digivice_api.git
-
Após a compilação, rode o seginte comando para buildar a imagem do projeto a partir das configurações do aquivo Dockerfile:
docker build -t myapp .
OBS: Este processo pode demorar alguns minutos.
-
Suba um contâiner para rodar a imagem da aplicação utilizando o seguinte comando:
docker run -p 8080:8080 myapp
-
Utilize o Imsonia ou qualquer outro software de chamadas HTTP para testar as rotas da API.
- Deploy: https://digivice-api.onrender.com => A primeira requisição pode demorar ate 10 segundos!
- Local: http://localhost:8080/digimons
- Buscar todos os digimons
- Buscar Digimon pelo nome
- Buscar digimon com nome não existente
- Buscar digimon por level
- Leveis disponíveis
- Buscar digimon com level não existente
- Buscar Digimon pelo level e nome
GET /digimons - FORMATO DE RESPOSTA- Status Code - 200
Exemplo de resposta
[
{
"name": "Koromon",
"img": "https://digimon.shadowsmith.com/img/koromon.jpg",
"level": "In Training"
},
{
"name": "Tsunomon",
"img": "https://digimon.shadowsmith.com/img/tsunomon.jpg",
"level": "In Training"
},
{
"name": "Yokomon",
"img": "https://digimon.shadowsmith.com/img/yokomon.jpg",
"level": "In Training"
},
]
GET /digimons?name=Koromon - FORMATO DE RESPOSTA- Status Code - 200
Exemplo de resposta
[
{
"name": "Koromon",
"img": "https://digimon.shadowsmith.com/img/koromon.jpg",
"level": "In Training"
}
]
GET /digimons?name=pikachu - FORMATO DE RESPOSTA- Status Code - 400
Exemplo de resposta
{
"timestamp": "2023-10-30T03:10:02.850076Z",
"status": "BAD_REQUEST",
"error": "Pikachu is not a Digimon in our database.",
"path": "/digimons"
}
- In Training
- Rookie
- Champion
- Ultimate
- Fresh
- Mega
- Armor
GET /digimons?level=armor - FORMATO DE RESPOSTA- Status Code - 200
Exemplo de resposta
[
{
"name": "Flamedramon",
"img": "https://digimon.shadowsmith.com/img/flamedramon.jpg",
"level": "Armor"
},
{
"name": "Raidramon",
"img": "https://digimon.shadowsmith.com/img/raidramon.jpg",
"level": "Armor"
},
{
"name": "Magnamon",
"img": "https://digimon.shadowsmith.com/img/magnamon.jpg",
"level": "Armor"
},
{
"name": "Sethmon",
"img": "https://digimon.shadowsmith.com/img/sethmon.jpg",
"level": "Armor"
},
]
GET /digimons?level=big - FORMATO DE RESPOSTA- Status Code - 400
Exemplo de resposta
{
"timestamp": "2023-10-30T03:14:34.160189300Z",
"status": "BAD_REQUEST",
"error": "Big is not a level in our database.",
"path": "/digimons"
}
GET /digimons?level=rookie&name=agumon - FORMATO DE RESPOSTA- Status Code - 200
Exemplo de resposta
[
{
"name": "Agumon",
"img": "https://digimon.shadowsmith.com/img/agumon.jpg",
"level": "Rookie"
}
]