Olá, seja muito bem vindo ao meu primeiro projeto solo utilizando Spring👋🏼
Este é um projeto de uma APIRest do "NetBank".
- Listar todos os veiculos cadastrados
- Cadastrar um novo veiculo
- Detalhar veiculo
- Excluir um veiculo
- Listar todas as fotos de um veiculo
- Filtrar veiculo por Ano
- Filtrar veiculo por Km
- Filtrar veiculo por Cambio
- Java
- Spring
- JPA / Hibernate
- PostgreSQL
- JDBC
- Lombok
- Spring Validation
Antes de executar o projeto, é necessário realizar as seguintes configurações:
- Configurar o banco de dados PostgreSQL e criar o banco de dados "contas".
- Modificar as informações de conexão com o banco de dados (URL, usuário e senha) no pacote resources/application.properties
- Clone ou faça o download do projeto para o seu ambiente de desenvolvimento.
- Importe o projeto para a sua IDE Java (Eclipse, IntelliJ, etc.).
- Realize as configurações necessárias conforme descrito acima.
- Start o projeto.
- Acesse a aplicação pelo Insomnia, Postman, etc. Utilizando as requisições abaixo.
Endpoints | Parameters | Verb |
---|---|---|
/cadastrarVeiculo | * | POST |
/estoque | * | GET |
/detalharVeiculo/{id} | * | GET |
/excluirVeiculo/{id} | * | DELETE |
/fotos/{id} | * | GET |
/filtrarPorCambio | * | GET |
/filtrarPorKm | * | GET |
/filtrarPorAno | * | GET |
CADASTRAR NOVO VEICULO - /cadastrarVeiculo
- Cadastra um novo veiculo instancia-lo no banco de dados.
201
: CREATED.
- POST - /cadastrarVeiculo
- HTTP/1.1
- Host: localhost:8080
- Content-Type: application/json
{
"marca": "Toyota",
"modelo": "Corola",
"anoFabEMod": "2022/2022",
"versao": "XEI 2.0",
"cambio": "Automático",
"qtdePortas": 4,
"combustivel": "Flex",
"km": 21200,
"placa": "PKM-9B26",
"preco": 120.900,
"descricao":"There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable..",
"urlFotos": [
{"url": "https://th.bing.com/th/id/R.03d9e96b44a62713150494967867f57f?rik=7zPJiyQAU1fzFg&pid=ImgRaw&r=0"},
{"url": "https://th.bing.com/th/id/OIP.KqLjGk_VYQob-x0UlsVoFwHaFj?pid=ImgDet&rs=1"}
]
}
- HTTP/1.1 201 CREATED
- Content-Type: application/json
{
"id": 6,
"marca": "Toyota",
"modelo": "Corola",
"anoFabEMod": "2022/2022",
"versao": "XEI 2.0",
"cambio": "Automático",
"qtdePortas": 4,
"combustivel": "Flex",
"km": 21200,
"placa": "PKM-9B26",
"preco": 120.9,
"descricao": "There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable.."
}
LISTAR ESTOQUE - /estoque
Lista os veiculos contidos no banco de dados.
200
: OK.
- GET - /contas/getAll
- HTTP/1.1
- Host: localhost:8080
- HTTP/1.1 200 OK
- Content-Type: application/json
{
"content": [
{
"marca": "Fiat",
"modelo": "Uno",
"anoFabEMod": "2015/2015",
"versao": "Attractive 1.0",
"cambio": "Manual",
"km": 92664,
"preco": 45.9
},
{
"marca": "Honda",
"modelo": "Civic",
"anoFabEMod": "2019/2020",
"versao": "EXL 2.0",
"cambio": "Manual",
"km": 25350,
"preco": 99.9
},
{
"marca": "Honda",
"modelo": "Civic",
"anoFabEMod": "2019/2020",
"versao": "EXL 2.0",
"cambio": "Manual",
"km": 25350,
"preco": 99.9
},
{
"marca": "Nissan",
"modelo": "Kicks",
"anoFabEMod": "2022/2022",
"versao": "Advance 1.6",
"cambio": "Automático",
"km": 21200,
"preco": 120.9
},
{
"marca": "Toyota",
"modelo": "Corola",
"anoFabEMod": "2022/2022",
"versao": "XEI 2.0",
"cambio": "Automático",
"km": 21200,
"preco": 120.9
}
],
"pageable": {
"sort": {
"empty": false,
"unsorted": false,
"sorted": true
},
"offset": 0,
"pageNumber": 0,
"pageSize": 20,
"unpaged": false,
"paged": true
},
"last": true,
"totalPages": 1,
"totalElements": 5,
"size": 20,
"number": 0,
"sort": {
"empty": false,
"unsorted": false,
"sorted": true
},
"first": true,
"numberOfElements": 5,
"empty": false
}
EXCLUIR CONTA- /contas/{id}
Deletar a conta.
204
: No Content.
- DELETE - /contas/{id}
- HTTP/1.1
- Host: localhost:8080
EFETUAR SAQUE - /contas/saque
Efetua um saque do saldo da conta.
200
: OK!.
-
PUT /contas
-
Host: localhost:8080
{ "id": 1, "valor": "920.00"
} ```
- HTTP/1.1 200 OK
- Content-Type: application/json
Saque efetuado com sucesso - 2023-06-02T15:57:15.411927900
EFETUAR DEPÓSITO - /contas/deposito
Efetua um deposito para o saldo da conta.
200
: OK!.
-
PUT /contas
-
Host: localhost:8080
{ "id": 1, "valor": "780.00"
} ```
- HTTP/1.1 200 OK
- Content-Type: application/json
Depósito efetuado com sucesso - 2023-06-02T15:57:15.411927900
EFETUAR TRANSFERÊNCIA - /contas/transferencia
Efetua uma transferência de uma quantia de saldo de uma conta para outra.
200
: OK!.
-
PUT /contas
-
Host: localhost:8080
{ "idContaRemetente": "1", "valor": "200.00", "idContaDestino": "7" } ```
- HTTP/1.1 200 OK
- Content-Type: application/json
Transferência realizada com sucesso! - 2023-06-02T15:12:54.502614100
Este projeto é apenas uma demonstração básica de um banco ("netbank") utilizando Spring e Banco de Dados. Para fins de aprendizado e desenvolvimento.
Kauã Caldeira Vilas Boas
- Email: kauacaldeira@hotmail.com
- LinkedIn: Kauã Vilas Boas