API REST bancária para o desafio da Maida;health.
API genérica desenvolvida para implementar serviços bancários. A API é construída com Java e Spring Boot e implementa controles de autenticação do Spring Security e Token JWT.
Essa API provê os seguintes endpoints para as seguintes funcionalidades:
- Cadastro de usuários:
POST/users
- Login de usuário:
POST/auth
- Cadastro de nova conta:
POST/accounts
- Transferência entre contas:
POST/accounts/transfer
- Exibir saldo:
POST/accounts/balance
Exemplos de requisições para os diversos endpoints listados anteriormente:
POST/users
Body:
{
"email": "default@email.com",
"password": "123987",
"name": "John Doe"
}
Realiza o cadastro de um usuário.
POST/auth
Body:
{
"email": "default@email.com",
"password": "123987"
}
Faz o login do usuário e retorna o token de acesso do usuário para acesso às demais requisições.
POST/accounts
Header:
{"Authorization": "Bearer TOKEN"}
Body:
{
"number": "1234-5",
"balance": "100.0"
}
Cadastro de uma nova conta. Cada usuário pode ter a quantidade de contas que quiser. Nenhuma conta na API pode ter o mesmo número.
POST/accounts/transfer
Header:
{"Authorization": "Bearer TOKEN"}
Body:
{
"source_account_number": "1234-5",
"destination_account_number": "3145-8",
"amount": "25.48"
}
Realiza a transferência entre contas.
POST/accounts/balance
Header:
{"Authorization": "Bearer TOKEN"}
Body:
{
"account_number": "1234-5"
}
Mostra o saldo de uma conta.
Projeto desenvolvido com as seguintes tecnologias:
- Java 8
- Spring Boot 2.5.2
- JWT
- Maven
A API foi desenvolvida para ser executada a partir de um jar. Para que o jar seja gerado, o seguinte comando pode ser executado na pasta do projeto:
mvn package
Para executar a API, o jar pode ser executado normalmente ou com o seguinte comando na pasta do projeto:
mvn spring-boot:run