4.1 KiB
4.1 KiB
Swagger/OpenAPI Documentation
Übersicht
Die Meldestelle API verfügt jetzt über eine vollständige Swagger/OpenAPI-Dokumentation, die eine interaktive Benutzeroberfläche zur Erkundung und Testung der API-Endpunkte bietet.
Zugriff auf die Dokumentation
Swagger UI
- URL:
http://localhost:8080/swagger - Beschreibung: Interaktive Benutzeroberfläche zur Erkundung der API
- Features:
- Vollständige API-Dokumentation
- Interaktive Testmöglichkeiten
- Beispiel-Requests und -Responses
- Schema-Definitionen
OpenAPI Specification
- URL:
http://localhost:8080/openapi - Beschreibung: Raw OpenAPI 3.0.3 Spezifikation im YAML-Format
- Verwendung: Kann für Code-Generierung oder Import in andere Tools verwendet werden
Dokumentierte Endpunkte
Basis-Endpunkte
GET /health- Gesundheitsprüfung des ServicesGET /api- API-Informationen
Person Management (/api/persons)
GET /api/persons- Alle Personen abrufenPOST /api/persons- Neue Person erstellenGET /api/persons/{id}- Person nach UUID abrufenPUT /api/persons/{id}- Person aktualisierenDELETE /api/persons/{id}- Person löschenGET /api/persons/oeps/{oepsSatzNr}- Person nach OEPS-Nummer abrufenGET /api/persons/search?q={query}- Personen suchenGET /api/persons/verein/{vereinId}- Personen nach Verein-ID abrufen
Schema-Definitionen
Person
Person:
type: object
properties:
id:
type: string
format: uuid
vorname:
type: string
nachname:
type: string
geburtsdatum:
type: string
format: date
oepsSatzNr:
type: string
vereinId:
type: string
format: uuid
email:
type: string
format: email
telefon:
type: string
required:
- vorname
- nachname
Error
Error:
type: object
properties:
error:
type: string
required:
- error
Verwendung
1. Server starten
./gradlew :server:run
2. Swagger UI öffnen
Navigieren Sie zu http://localhost:8080/swagger in Ihrem Browser.
3. API erkunden
- Klicken Sie auf die verschiedenen Endpunkte, um Details zu sehen
- Verwenden Sie "Try it out" um Requests direkt zu testen
- Sehen Sie sich die Beispiel-Responses an
4. OpenAPI Spec herunterladen
Besuchen Sie http://localhost:8080/openapi um die vollständige OpenAPI-Spezifikation zu erhalten.
Erweiterung der Dokumentation
Neue Endpunkte hinzufügen
Um neue API-Endpunkte zu dokumentieren, erweitern Sie die Datei:
server/src/main/resources/openapi.yaml
Beispiel für neuen Endpunkt:
/api/vereine:
get:
summary: Get all clubs
description: Retrieve a list of all clubs
tags:
- Clubs
responses:
'200':
description: List of clubs
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Verein'
Technische Details
Dependencies
io.ktor:ktor-server-openapi:3.1.2io.ktor:ktor-server-swagger:3.1.2
Konfiguration
Die Swagger/OpenAPI-Konfiguration befindet sich in:
server/src/main/kotlin/at/mocode/plugins/Routing.ktserver/src/main/resources/openapi.yaml
Tests
Automatisierte Tests für die Swagger-Funktionalität:
server/src/test/kotlin/at/mocode/SwaggerTest.kt
Nächste Schritte
- Erweitern Sie die Dokumentation für weitere API-Endpunkte (Vereine, Turniere, etc.)
- Fügen Sie Authentifizierung hinzu zur OpenAPI-Spezifikation wenn implementiert
- Konfigurieren Sie Produktions-URLs in der OpenAPI-Spezifikation
- Implementieren Sie API-Versionierung in der Dokumentation
Troubleshooting
Swagger UI lädt nicht
- Überprüfen Sie, ob der Server läuft
- Stellen Sie sicher, dass Port 8080 verfügbar ist
- Prüfen Sie die Logs auf Fehler
OpenAPI Spec ist leer
- Überprüfen Sie, ob
openapi.yamlim Classpath verfügbar ist - Stellen Sie sicher, dass die Datei gültiges YAML enthält
API-Endpunkte fehlen in der Dokumentation
- Erweitern Sie die
openapi.yamlDatei - Starten Sie den Server neu nach Änderungen