Este trabalho não tinha como requisito o uso de banco de dados, todos os dados são armazenados na memória da máquina enquanto a aplicação estiver rodando. Nosso objetivo é consolidar princípios do Spring Boot, por esse motivo, focamos, especificamente, nos conceitos fundamentais desse framework e do Java, como Programação orientada a objetos, endpoints, métodos HTTP e testes unitários.
- (POST)
/rebeldes- Cadastrar um novo Rebelde - (GET)
/rebeldes- Listar todos os Rebeldes cadastrados - (GET)
/rebeldes/{id}- Selecionar específico Rebelde pela sua ID - (DELETE)
/rebeldes/{id}- Deletar específico Rebelde pela sua ID
{
"nome": "Rebeldeson",
"idade": 30,
"genero": "masculino",
"localizacao": {
"latitude": -21.22,
"logintude": -22.33,
"nome": "Andromeda"
},
"inventario": {
"qtdArmas": 10,
"qtdAgua": 30,
"qtdMunicao": 8,
"qtdComida": 13
}
}- (GET)
/rebeldes/localizacao/(id)- Selecionar localização de um Rebelde específico pela sua ID - (PUT)
/rebeldes/localizacao/(id)- Atualizar localização de um Rebelde específico pela sua ID
{
"latitude": -15.22,
"longitude": -10.33,
"nome": "Andromeda"
}- (PATCH)
/rebeldes/reportar/{id}- Reportar específico Rebelde pela sua ID
- (GET)
/rebeldes/relatorio- Devolve as informações dos Rebeldes, Traidores e muito mais
{
"porcentagemRebeldes": "80.0%",
"porcentagemTraidores": "20.0%",
"inventarioRelatorio": {
"totalArmas": 4,
"totalAgua": 12,
"totalMunicao": 24,
"totalComida": 52,
"itensPerdidos": 25
}
}- (PUT)
/rebeldes/negociar- Rebeldes conseguem negociar entre eles, traidores não negociam!
{
"rebeldeReceptor": "ID_REBELDE_RECEPTOR",
"rebeldeFornecedor": "ID_REBELDE_FORNECEDOR",
"itensReceptor": [{"nome": "arma", "quantidade": 1}, {"nome": "municao", "quantidade": 1}],
"itensFornecedor": [{"nome": "agua", "quantidade": 3}, {"nome": "comida", "quantidade": 1}]
}| ITEM | PONTOS |
|---|---|
| 1 Arma | 4 |
| 1 Munição | 3 |
| 1 Água | 2 |
| 1 Comida | 1 |
[✔] - Adicionar rebeldes POST - endpoint: /rebeldes @Pedro Ricardo
[✔] - Listar Rebeldes GET - endpoint: /rebeldes @Pedro Ricardo
[✔] - Selecionar Rebelde pela ID GET - endpoint: /rebeldes/{id} @Pedro Ricardo
[✔] - Deletar Rebelde pela ID DELETE - endpoint: /rebeldes/{id}@Pedro Ricardo
[✔] - Atualizar localização do rebelde PUT - endpoint: /rebeldes/localizacao/{id}/ @Israel Cena
[✔] - Listar localização do rebelde GET - endpoint: /rebeldes/localizacao/(id) @Israel Cena
[✔] - Reportar o rebelde como um traidor PATCH - endpoint: /rebeldes/reportar/{id} @Pedro Ricardo
[✔] - Listar Rebeldes traidores GET - endpoint: /rebeldes/traidores@Pedro Ricardo
[✔] - Negociar itens PUT - endpoint: /rebeldes/negociar @Thiago Assi & @Pedro Ricardo
[✔] - Relatórios GET - endpoint: /rebeldes/relatorio @Pedro Ricardo
[✔] - Adicionar URI para retornar pelo header o endereço do rebelde criado. @Pedro Ricardo
[❌] - Tratamento das Exceções @Lucas Suplino
[✔] - Realizar ao menos 1 (um) cenário de testes @Pedro Ricardo
[✔] - Adicionado Logs @Pedro Ricardo
|
Pedro Ricardo |
Thiago Assi |
Israel Cena |
Lucas Suplino |