Notice: fwrite(): Write of 23 bytes failed with errno=28 No space left on device in /var/www/wiki/mediawiki-1.45.3-sms/includes/libs/uuid/GlobalIdGenerator.php on line 539
API-Dokumentation: Unterschied zwischen den Versionen – Social Media Simulator Wiki
Menü aufrufen
Toggle preferences menu
Persönliches Menü aufrufen
Nicht angemeldet
Ihre IP-Adresse wird öffentlich sichtbar sein, wenn Sie Änderungen vornehmen.

API-Dokumentation: Unterschied zwischen den Versionen

Aus Social Media Simulator Wiki
Die Seite wurde neu angelegt: „__NOTOC__ 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 == {| class="wikitable" style="width:100%; border-radius: 8px; overflow: hidden;" ! style="width: 15%;" | Methode ! style="width: 35%;" | Endpunkt ! Beschreibung |- | style="background-color: #28a745; color: white; font-weight: bold; text-align: center;…“
 
Keine Bearbeitungszusammenfassung
 
Zeile 164: Zeile 164:


</pre>
</pre>
[[Kategorie:Entwickler-Dokumentation]]

Aktuelle Version vom 16. Juni 2026, 21:00 Uhr

Mit dieser API-Schnittstelle kommuniziert der Client (Frontend) des Social Media Simulators mit dem Spring Boot-Backend, um Spielstände zu initialisieren und abzurufen.

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

Bearbeiten Quelltext bearbeiten

1. 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 bearbeiten
4f3b89a2-1e4d-4c6a-9b88-123456789abc

---

  • 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.

Parameter Typ Pflichtfeld Beschreibung
id UUID Ja Die eindeutige Kennung des Spielers, die über /api/init generiert wurde.
  • 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
}
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.

---

  • 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.

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

Übergabe des GameConfigDTO als JSON-Objekt:

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

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]