Spring-Boot-4.x REST API für Superheroes, Skills und SkillProfiles. [ergaenzt: Dies ist ein KI-generierter nachbau von https://github.com/abach42/superhero]
- Java 21
- Maven 3.9+
- Docker Desktop (für PostgreSQL und Testcontainers)
docker compose up -d
mvn spring-boot:runBeim ersten Start führt Flyway die Migrationen aus:
- Schema für Benutzer, Superheroes, Skills und SkillProfiles
- Skills-Stammdaten und lokale Benutzer
- Demo-Superheroes mit SkillProfiles
Die lokale API ist unter http://localhost:8080 erreichbar. Swagger UI:
http://localhost:8080/swagger-ui.html.
| Benutzer | Passwort | Rolle |
|---|---|---|
admin |
password |
ADMIN — Lesen und Schreiben |
user |
password |
USER — nur Lesen |
Die Credentials sind ausschließlich für lokale Entwicklung und Tests bestimmt.
POST /api/v1/auth/login
Content-Type: application/json
{
"username": "admin",
"password": "password"
}Die Antwort enthält Access- und Refresh-Token. Geschützte Anfragen verwenden:
Authorization: Bearer <accessToken>Ein neues Token-Paar wird über POST /api/v1/auth/refresh-token mit dem
refreshToken im JSON-Body angefordert.
GET /api/v1/**: USER und ADMINPOST,PATCH,DELETE /api/v1/**: nur ADMIN/api/v1/auth/**, Swagger und OpenAPI: öffentlich
Alle List-Endpunkte unterstützen page, size und sort, z.B.:
GET /api/v1/superheroes?page=0&size=20&sort=alias,asc
Standard: page=0, size=20, sort=id,asc; die maximale Seitengröße ist 100.
mvn testRepository- und spätere End-to-End-Tests verwenden PostgreSQL über Testcontainers.
Das Profil test lädt absichtlich nur Schema und Stammdaten, nicht die
Superhero-Demodaten.