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 |