Changes for page Basisprojekt
Last modified by mgrawunder on 2025/09/09 08:42
From 38.4 to 38.5
From 46.1 to 47.1
From version 38.5
edited by mgrawunder
on 2025/09/03 10:53
on 2025/09/03 10:53
Change comment:
There is no comment for this version
To version 46.1
edited by mgrawunder
on 2025/09/03 11:20
on 2025/09/03 11:20
Change comment:
Uploaded new attachment "1756891216134-578.png", version {1}
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 11 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -219,7 +219,7 @@ 219 219 *ApiController implements *Api (Für Spring) (z.B. LobbiesApiController) 220 220 ))) 221 221 * ((( 222 -*ApiDelegate (z.B. LobbiesApiDelegate): Macht die eigentliche Arbeit und muss** 222 +*ApiDelegate (z.B. LobbiesApiDelegate): Macht die eigentliche Arbeit und muss** im eigenen Code-Bereich** erweitert werden! 223 223 ))) 224 224 225 225 ... ... @@ -265,3 +265,34 @@ 265 265 [[image:1756889472103-847.png]] 266 266 267 267 und damit kann man die Funktion aufrufen. Hinweis: Der Mapper ist im LobbyService über die Spring Dependency Injection gebunden. 268 + 269 +== Schritt 3: Erweiterung auf Client-Seite (Java) == 270 + 271 +Hinweis: Das Beispiel bezieht sich hier auf eine Client mit Java. Für andere Clients wie Angular ist das Vorgehen anders. 272 + 273 +Auf der Client-Seite wird die komplette Kommunikation mit dem Server in der generierten Klasse DefaultApi gekapselt. 274 + 275 +[[image:1756889795622-530.png]] 276 + 277 +Dort gibt es eine neue Methode lobbyList. Die sorgt dafür, dass der REST-Aufruf auf die Server-Seite geht und liefert das passende Objekt List<LobbyDTO> zurück 278 + 279 +Im Client gibt es auch eine Klasse LobbyService. Dort ist die DefaultApi Klasse über Dependency Injection gebunden. 280 + 281 +[[image:1756889917681-650.png]] 282 + 283 +Dort kann man nun eine neue Methode getLobbies() integrieren: 284 + 285 +[[image:1756889979252-910.png]] 286 + 287 +Und das Ganze dann z.B. im MainMenuPresenter verwenden: 288 + 289 +[[image:1756890010118-149.png||height="116" width="972"]] 290 + 291 +Anmerkung: Obwohl DefaultApi alle Funktionen zum Server kapselt, sollte man im Client spezifische Services für bestimmte Bereich haben, die diese Klasse verwenden. Das führt zu einer besseren Trennung von Funktionalitäten im Code. 292 + 293 + 294 += Kommunikation: Server ~-~-> Client (WebSockets) = 295 + 296 +[[image:1756890800817-370.png||height="604" width="1121"]] 297 + 298 +Da man mit REST nicht Nachrichten vom
- 1756889795622-530.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +379.7 KB - Content
- 1756889917681-650.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +6.0 KB - Content
- 1756889979252-910.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +4.0 KB - Content
- 1756890010118-149.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +16.8 KB - Content
- 1756890800817-370.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +61.9 KB - Content
- 1756890924024-346.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +54.8 KB - Content
- 1756890958794-603.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +32.6 KB - Content
- 1756891019715-621.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +58.6 KB - Content
- 1756891125969-748.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.9 KB - Content
- 1756891180516-843.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +153.4 KB - Content
- 1756891216134-578.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +246.0 KB - Content