trips_post.md - JinraGit/travelManager GitHub Wiki

✈️ POST /trips

🧩 Funktion

Erstellt einen neuen Trip für den angemeldeten Benutzer. Ein Trip kann Hotels, Meetings, Flüge oder andere Reisebestandteile enthalten.

🔐 Authentifizierung

Erforderlich (mit Token)

📥 Request Body: TripRequestDTO

{
  "title": "Geschäftsreise nach Zürich",
  "startDate": "2025-07-01",
  "endDate": "2025-07-04",
  "isPrivate": false
}

📤 Response: 201 Created

{
  "id": 12,
  "title": "Geschäftsreise nach Zürich",
  "startDate": "2025-07-01",
  "endDate": "2025-07-04",
  "isPrivate": false
}

⚠️ Fehlerfälle

Status Beschreibung
400 Ungültige Eingabe oder Validierungsfehler (z. B. falsches Datum)
401 Nicht authentifiziert

🧠 Logik (aus TripController#createTrip)

  • Erwartet ein TripRequestDTO im Request-Body.
  • Holt das eingeloggte Benutzerkonto über @AuthenticationPrincipal.
  • Übergibt DTO und Account an tripService.createTrip(...).
  • Gibt den erstellten TripResponseDTO mit Status 201 Created zurück.

🧪 Hinweise

  • Die Zuordnung zum Benutzer erfolgt automatisch über das Token.
  • Felder wie Hotels oder Meetings werden separat nach der Erstellung des Trips hinzugefügt.