Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

API-Dokumentation

From Social Media Simulator Wiki

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

edit edit source
Methode Endpunkt Beschreibung
GET /api/init Generiert eine neue Spieler-UUID (UTF-16).
GET /api/game Ruft den aktuellen Spielstand für eine UUID ab.
POST /api/game/init_recall Initialisiert ein neues Spiel mit einer Konfiguration.

---

Dokumentation der Endpunkte

edit edit source

1. Spieler-UUID generieren

edit edit source
  • 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.!)

edit edit source
4f3b89a2-1e4d-4c6a-9b88-123456789abc

---

2. Spielstand abrufen

edit edit source
  • 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

edit edit source
Parameter Typ Pflichtfeld Beschreibung
id UUID Ja Die eindeutige Kennung des Spielers, die über /api/init generiert wurde.

Rückgabe (Response)

edit edit source
  • Status 200 (Erfolgreich): Gibt das GameResponse-JSON-Objekt zurück, wenn die UUID existiert. Falls die ID nicht in der aktiven Spielerliste registriert ist, wird null zurückgegeben.
{
  "playerId": "4f3b89a2-1e4d-4c6a-9b88-123456789abc",
  "companyName": "QuatschStudio Tech",
  "money": 50000,
  "employees": 1,
  "researchPoints": 0
}
Parameter-Spezifikation
edit edit source
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

edit edit source
  • 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

edit edit source
Parameter Typ Pflichtfeld Beschreibung
id UUID Ja Die ID des Spielers, für den das Spiel gestartet wird.

Payload (Request Body)

edit edit source

Übergabe des GameConfigDTO als JSON-Objekt:

{
  "companyName": "QuatschStudio Tech",
  "infiniteMoney": false,
  "startMoney": 50000,
  "startEmployees": 1,
  "startResearch": 0
}
Parameter-Spezifikation
edit edit source
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)

edit edit source

Beim 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]