Project to GitHub

This commit is contained in:
2026-06-24 08:33:23 +02:00
commit ecd89a68f8
121 changed files with 6481 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
# REST-API
Basisroute: `/api`
Die genaue Endpoint-, Request- und Response-Dokumentation steht im Development in der Swagger UI unter `/swagger`.
## Schüler
- `GET /students?skip=0&take=100`
- `GET /students/{id}`
- `GET /students/by-card/{nr}`
- `GET /students/search?name=`
- `POST /students`
- `PUT /students/{id}`
- `DELETE /students/{id}`
## Bücher
- `GET /books?availableOnly=&skip=0&take=100`
- `GET /books/{id}`
- `GET /books/by-number/{nr}`
- `GET /books/search?title=`
- `GET /books/search?author=`
- `GET /books/search?subject=`
- `POST /books`
- `PUT /books/{id}`
- `DELETE /books/{id}`
Buch- und Schülersuche werden datenbankseitig gefiltert.
## Ausleihe
- `POST /loans/verify` prüft Schüler, Buch und Verfügbarkeit ohne Datenänderung.
- `POST /loans` prüft erneut und legt die Ausleihe transaktional an.
## Rückgabe
- `GET /returns/verify/{nr}` liefert die aktive Ausleihe und den Überfälligkeitsstatus.
- `POST /returns` schließt die aktive Ausleihe transaktional ab.
## Reports
- `GET /reports`
- `GET /reports/active-loans?skip=0&take=100`
- `GET /reports/active-students?skip=0&take=100`
- `GET /reports/overdue?skip=0&take=100`
- `GET /reports/statistics`
`GET /reports` liefert die ersten 100 Einträge je Liste plus vollständige Statistiken.
Fehler verwenden `application/problem+json` mit `status`, `title`, `detail` und `instance`.