Changes for page Basisprojekt
Last modified by mgrawunder on 2025/09/09 08:42
From 34.1 to 35.1
From 38.2 to 38.3
From version 35.1
edited by Marco Grawunder
on 2025/08/15 11:29
on 2025/08/15 11:29
Change comment:
Uploaded new attachment "1755250157536-746.png", version {1}
To version 38.2
edited by mgrawunder
on 2025/09/03 10:18
on 2025/09/03 10:18
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 5 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. MarcoGrawunder1 +XWiki.mgrawunder - Content
-
... ... @@ -34,7 +34,10 @@ 34 34 35 35 [[image:1755248508652-523.png]] 36 36 37 +**Hinweis: Wenn man schon hier ist, kann man auch das Spring-(Boot)-Plugin **installieren 37 37 39 +[[image:1756886220468-891.png]] 40 + 38 38 == Server laufen lassen == 39 39 40 40 [[image:1755246035428-328.png]] ... ... @@ -65,7 +65,7 @@ 65 65 [[image:1755246173415-934.png]] 66 66 67 67 68 -**Wenn man IntelliJ nicht in der Pro-Version verwendet, muss kann man ein Spring-Profil über eine Umgebungsvariable in der Konfiguration des Servers setzen: ** 71 +**Wenn man IntelliJ nicht in der Pro-Version verwendet bzw. das Spring Boot Plugin nicht installiert hat, muss kann man ein Spring-Profil über eine Umgebungsvariable in der Konfiguration des Servers setzen: ** 69 69 70 70 **SPRING_PROFILES_ACTIVE=dev** 71 71 ... ... @@ -114,6 +114,8 @@ 114 114 115 115 = OpenAPI = 116 116 120 +(Hinweis: Ich bin nicht sicher, ob IntelliJ diese Darstellung auch hat, wenn man nicht die Ultimate Version verwendet. Ggf. muss man das OpenAPI-Plugin installieren) 121 + 117 117 [[image:1755250026156-269.png]] 118 118 119 119 [[image:1755250050031-304.png]] ... ... @@ -124,3 +124,68 @@ 124 124 * **Security**: Authentifizierungsmechanismen. 125 125 126 126 [[image:1755250061990-172.png]] 132 + 133 +Kann JSON oder YAML (Yet Another Markup Language) verwenden YAML ist wie JSON nur mit weniger Klammern 134 + 135 +[[image:1755250157536-746.png]] 136 + 137 +Die aktuelle Version des OpenAPI Dokumentes findet sich im Basisprojekt 2 [[https:~~/~~/gitlab.swl.informatik.uni-oldenburg.de/SPB/SWPBasisprojekt2/-/blob/master/openapi.yaml?ref_type=heads>>https://gitlab.swl.informatik.uni-oldenburg.de/SPB/SWPBasisprojekt2/-/blob/master/openapi.yaml?ref_type=heads]] 138 + 139 +Dort wird die Datei auch grafisch dargestellt. 140 + 141 + 142 += Maven und OpenAPI = 143 + 144 +Die OpenAPI Datei kann verwendet werden, um sich die [[REST-Schnittstellen>>doc:||anchor="HErweiterungderREST-Schnittstelle"]] generieren zu lassen. Diese Erzeugung erfolgt mit dem OpenAPI Generator [[https:~~/~~/github.com/OpenAPITools/openapi-generator>>https://github.com/OpenAPITools/openapi-generator]] 145 + 146 +Man kann dabei jetzt einen Kommandozeilenaufruf verwenden oder man setzt auf das im Basisprojekt vorhandene MVN () 147 + 148 +Dafür ist in den Maven-Dateien bereits das OpenAPI Generator Plugin integriert. Da im Client und im Server unterschiedliche Arten verwendet werden, erfolgt die Konfiguration im Client und im Server unterschiedlich: 149 + 150 +== Client == 151 + 152 +Im Client werden die Apache Http Bibliothek verwendet. 153 + 154 + 155 +[[image:1756887005209-855.png]] 156 + 157 +== Server == 158 + 159 +Im Server wird Spring (Boot) verwendet 160 + 161 +[[image:1756887037619-847.png]] 162 + 163 +TODO: Weitere Informationen zu 164 + 165 +- Lombok 166 + 167 +- Dependency Injection 168 + 169 +- Spring (Boot), siehe auch [[https:~~/~~/www.marcobehler.com/guides/spring-framework>>https://www.marcobehler.com/guides/spring-framework]] 170 + 171 + 172 + 173 += Erweiterung der REST-Schnittstelle = 174 + 175 +In diesem Beispiel wird einmal gezeigt, wie die REST-Schnittstelle des Basisprojektes einfach erweitert werden kann. 176 + 177 +In diesem Beispiel soll die aktuelle Schnittstelle um die Möglichkeit erweitert werden, alle Lobbies vom Server zu bekommen. 178 + 179 +== Schritt 1: Erweitere das OpenAPI-Dokument == 180 + 181 +Um diese neue Funktion sowohl im Client als auch im Server verwenden zu können, ist es notwendig, diese neue Funktion im OpenAPI-Dokument zu definieren. 182 + 183 +Die Funktion soll sehr einfach sein und keine Parameter verlangen. Dafür bietet sich die GET-Funktion an. 184 + 185 +Im folgenden Bild sind alle Anpassungen zu sehen: 186 + 187 +[[image:1756887436525-790.png||height="355" width="974"]] 188 + 189 + 190 +Nach dem Speichern, sollte das OpenAPI-Dokument wie folgt aussehen 191 + 192 +[[image:1756887488020-376.png||height="642" width="904"]] 193 + 194 + 195 + 196 +
- 1756886220468-891.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +161.0 KB - Content
- 1756887005209-855.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +56.9 KB - Content
- 1756887037619-847.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +52.5 KB - Content
- 1756887436525-790.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +62.8 KB - Content
- 1756887488020-376.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.mgrawunder - Size
-
... ... @@ -1,0 +1,1 @@ 1 +187.5 KB - Content