RESTful Banking API, entwickelt mit Spring Boot.
Dieses Projekt implementiert ein einfaches Banksystem mit Kontoverwaltung, Transaktionen und Geldüberweisungen zwischen Konten.
- Bankkonto erstellen
- Geld einzahlen (Deposit)
- Geld abheben (Withdraw)
- Geld zwischen Konten transferieren
- Konto sperren / entsperren
- Transaktionshistorie anzeigen
- Validierung und Fehlerbehandlung
- Java 21
- Spring Boot
- Spring Data JPA
- Hibernate
- H2 Datenbank
- Maven
- JUnit & MockMvc
POST /accounts
{
"id": "AC-DE-2026-01",
"owner": "Peter Parker"
}POST /accounts/{id}/deposit
{
"amount": 100
}POST /accounts/{id}/withdraw
{
"amount": 50
}POST /accounts/transfer
{
"fromAccount": "AC-DE-2026-01",
"toAccount": "AC-DE-2026-02",
"amount": 100
}GET /accounts/{id}/balance
GET /accounts/{id}/transactions
[
{
"id": 1,
"type": "DEPOSIT",
"amount": 100,
"balanceAfter": 100,
"timestamp": "2026-03-09T14:10:00"
}
]controller
service
repository
domain
dto
exception
Das Projekt folgt einer Layered Architecture, bei der API, Business-Logik und Datenzugriff voneinander getrennt sind.
mvn spring-boot:runDie Anwendung läuft anschließend unter:
http://localhost:8080
Integrationstests wurden mit JUnit und MockMvc implementiert.
Tests ausführen:
mvn testAlle Endpoints können über die Datei request.http getestet werden, die im Projekt enthalten ist.