API-Dokumentation
Weitere Optionen
Mit dieser API-Schnittstelle kommuniziert der Client (Frontend) des Social Media Simulators mit dem Spring Boot-Backend, um Spielstände zu initialisieren und abzurufen.
Endpunkte Übersicht
Bearbeiten Quelltext bearbeiten---
Dokumentation der Endpunkte
Bearbeiten Quelltext bearbeiten1. Spieler-UUID generieren
Bearbeiten Quelltext bearbeiten- Endpunkt:
/api/init - Methode: GET
- Format:
text/plain;charset=utf-16
Diese Methode generiert eine neue, eindeutige V4-UUID, registriert sie im RAM des Servers in der aktiven Spielerliste und gibt sie als Byte-Array im UTF-16-Format zurück.
Rückgabe (Response) (Bsp.!)
Bearbeiten Quelltext bearbeiten4f3b89a2-1e4d-4c6a-9b88-123456789abc
---
2. Spielstand abrufen
Bearbeiten Quelltext bearbeiten- Endpunkt:
/api/game - Methode: GET
- Format:
application/json
Gibt den aktuellen Zustand der laufenden Simulation für die übergebene UUID zurück. Der Client nutzt diesen Endpunkt für den regelmäßigen Sync oder beim Neuladen des Dashboards.
Query-Parameter
Bearbeiten Quelltext bearbeiten| Parameter | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
id
|
UUID | Ja | Die eindeutige Kennung des Spielers, die über /api/init generiert wurde.
|
Rückgabe (Response)
Bearbeiten Quelltext bearbeiten- Status 200 (Erfolgreich): Gibt das
GameResponse-JSON-Objekt zurück, wenn die UUID existiert. Falls die ID nicht in der aktiven Spielerliste registriert ist, wirdnullzurückgegeben.
{
"playerId": "4f3b89a2-1e4d-4c6a-9b88-123456789abc",
"companyName": "QuatschStudio Tech",
"money": 50000,
"employees": 1,
"researchPoints": 0
}
Parameter-Spezifikation
Bearbeiten Quelltext bearbeiten| Feld | Typ | Beschreibung |
|---|---|---|
playerId
|
String (UUID) | Die UUID des Spielers zur Validierung auf Client-Seite. |
companyName
|
String | Der Name des Social-Media-Unternehmens. |
money
|
Integer | Der aktuelle Kontostand des Unternehmens im Spiel. |
employees
|
Integer | Die Anzahl der derzeit eingestellten Mitarbeiter. |
researchPoints
|
Integer | Die aktuell angesammelten Forschungspunkte für neue Features oder Algorithmen-Upgrades. |
---
3. Spiel initialisieren
Bearbeiten Quelltext bearbeiten- Endpunkt:
/api/game/init_recall - Methode: POST
- Format:
application/json
Initialisiert die Spielmechaniken für eine bereits generierte UUID auf Basis der übergebenen Unternehmenseinstellungen im Request-Body.
Query-Parameter
Bearbeiten Quelltext bearbeiten| Parameter | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
id
|
UUID | Ja | Die ID des Spielers, für den das Spiel gestartet wird. |
Payload (Request Body)
Bearbeiten Quelltext bearbeitenÜbergabe des GameConfigDTO als JSON-Objekt:
{
"companyName": "QuatschStudio Tech",
"infiniteMoney": false,
"startMoney": 50000,
"startEmployees": 1,
"startResearch": 0
}
Parameter-Spezifikation
Bearbeiten Quelltext bearbeiten| Feld | Typ | Beschreibung |
|---|---|---|
companyName
|
String | Der Name des zu gründenden Social-Media-Unternehmens. |
infiniteMoney
|
Boolean | Sandbox-Modus. Wenn true, ist das Startkapital unbegrenzt.
|
startMoney
|
Integer | Das verfügbare Startkapital bei Spielbeginn. |
startEmployees
|
Integer | Die Anzahl der Mitarbeiter, mit denen das Unternehmen startet. |
startResearch
|
Integer | Der initiale Wert für bereits generierte Forschungspunkte. |
Server-Log (SLF4J)
Bearbeiten Quelltext bearbeitenBeim Aufruf triggert der Controller einen Log-Eintrag auf dem Server (Bsp.!):
2026-06-16T20:23:28.789+02:00 INFO 523700 --- [nio-8080-exec-6] o.r.smsim.api.controller.GameController : Setting up Game for 737e1e57-3e1d-4f0e-b1a8-1fcad8c145d0:GameConfigDTO [companyName=adsf, infiniteMoney=false, startMoney=1000, startEmployees=1, startResearch=0]