Maryucha /
javaBasicoPacotao
Esse repositório tem código com um pacotão de exercícios de Lógica, Java Básico, Vetores, Matrizes, POO
40/100 healthLoading repository data…
sartorileonardo / repository
Esse repositório tem como objetivo ensinar novos devenvolvedores a criar uma API Java/Spring Boot/REST de um negócio mini banco
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Uma API REST simples para sistema bancário desenvolvida com Java 17 e Spring Boot, perfeita para aprendizado e mentorias.
Esta é uma API de mini banco que oferece operações bancárias básicas como cadastro de clientes, depósitos, saques e transferências. Desenvolvida com foco educacional para demonstrar os conceitos fundamentais do Spring Boot em uma mentoria de 1 hora.
src/main/java/com/example/minibank/
├── entity/
│ └── Cliente.java # Entidade JPA com Lombok
├── repository/
│ └── ClienteRepository.java # Interface Spring Data JPA
├── service/
│ └── ClienteService.java # Lógica de negócio e regras
├── controller/
│ └── ClienteController.java # Endpoints REST
├── exception/
│ ├── ClienteNotFoundException.java
│ ├── SaldoInsuficienteException.java
│ └── GlobalExceptionHandler.java
└── MiniBankApplication.java # Classe principal
| Método | Endpoint | Descrição |
|---|---|---|
POST | /api/clientes | Cadastrar novo cliente |
GET | /api/clientes | Listar todos os clientes |
GET | /api/clientes/{id} | Buscar cliente por ID |
GET | /api/clientes/conta/{numeroConta} | Buscar por número da conta |
| Método | Endpoint | Descrição |
|---|---|---|
POST | /api/clientes/{numeroConta}/deposito | Realizar depósito |
POST | /api/clientes/{numeroConta}/saque | Realizar saque |
POST | /api/clientes/transferir | Transferir entre contas |
git clone https://github.com/sartorileonardo/mini-bank-api.git
cd mini-bank-api
./mvnw spring-boot:run
# ou
mvn spring-boot:run
jdbc:h2:mem:bankdbsaApós iniciar a aplicação, você pode testar os endpoints através do Swagger UI:
O Swagger UI fornece documentação interativa e permite testar a API sem necessidade de ferramentas externas.
curl -X POST "http://localhost:8080/api/clientes" \
-H "Content-Type: application/json" \
-d '{
"nome": "João Silva",
"numeroConta": "12345",
"agencia": "001",
"saldo": 1000.00
}'
curl -X POST "http://localhost:8080/api/clientes" \
-H "Content-Type: application/json" \
-d '{
"nome": "Maria Santos",
"numeroConta": "67890",
"agencia": "001",
"saldo": 500.00
}'
curl -X POST "http://localhost:8080/api/clientes/12345/deposito?valor=500"
curl -X POST "http://localhost:8080/api/clientes/transferir?contaOrigem=12345&contaDestino=67890&valor=300"
Execute os testes com:
./mvnw test
Os testes cobrem os principais cenários da camada Service:
@Autowired e @RequiredArgsConstructor@RestController@RestControllerAdvice@Transactionalspring.datasource.url=jdbc:h2:mem:bankdb
spring.h2.console.enabled=true
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.show-sql=true
server.port=8080
springdoc.api-docs.path=/api-docs
springdoc.swagger-ui.path=/swagger-ui.html
<dependencies>
<!-- Dependências geradas pelo Spring Initializr -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!-- Dependência atualizada para Swagger -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.5.0</version>
</dependency>
<!-- Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- Test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
API (Interface de Programação de Aplicações)
Conta Bancária Digital
Saldo
Transação
Depósito
Saque
Transferência
Titular da Conta
Número da Conta
Extrato
@Entity
@Id
@GeneratedValue
@Column
@RestController
@RequestMapping
@GetMapping / @PostMapping / @PutMapping / @DeleteMapping
@RequestBody
@PathVariable
@Service
@Autowired
Spring Boot
Spring Data JPA
H2 Database
SpringDoc OpenAPI
Lombok
JUnit
Mockito
Maven
Entity Classes
Controller Classes
Service Classes
Repository Interfaces
DTO (Data Transfer Object)
Exception Classes
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Leonardo Sartori
⭐ Se este projeto foi útil para você, deixe uma estrela no repositório!
Selected from shared topics, language and repository description—not editorial ratings.
Maryucha /
Esse repositório tem código com um pacotão de exercícios de Lógica, Java Básico, Vetores, Matrizes, POO
40/100 healthLuizguni /
Esse repositório tem como principal objetivo guardar os códigos de estudos feitos no BootCamp da DIO Java Claude Native
28/100 healthGenerationProjects /
Esse repositório tem como fim desenvolver em equipe um projeto desafiador de um RPG simples com a linguagem Java
29/100 healthguilhermebsilva /
Esse repositório tem como objetivo compartilharmos código, idéias e conhecimento
37/100 healthjgbrandaooeiras-lab /
Esse repositório tem como principal finalidade demonstrar projetos e códigos(básicos e avançados) que foram criados por mim.
49/100 healthdharasimic /
Esse repositório tem como fim armazenar as atividades realizadas no curso de introdução ao JavaScript da Alura
27/100 health