Skip to content
VoSs2o0oPublic

About

Superhero AI generated

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

Superhero REST API

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]

Voraussetzungen

  • Java 21
  • Maven 3.9+
  • Docker Desktop (für PostgreSQL und Testcontainers)

Lokal starten

docker compose up -d
mvn spring-boot:run

Beim ersten Start führt Flyway die Migrationen aus:

  1. Schema für Benutzer, Superheroes, Skills und SkillProfiles
  2. Skills-Stammdaten und lokale Benutzer
  3. Demo-Superheroes mit SkillProfiles

Die lokale API ist unter http://localhost:8080 erreichbar. Swagger UI: http://localhost:8080/swagger-ui.html.

Lokale Demo-Accounts

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.

Authentifizierung

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.

Berechtigungen

  • GET /api/v1/**: USER und ADMIN
  • POST, PATCH, DELETE /api/v1/**: nur ADMIN
  • /api/v1/auth/**, Swagger und OpenAPI: öffentlich

Pagination

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.

Tests

mvn test

Repository- 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.

About

Superhero AI generated

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages