Changes for page Basisprojekt

Last modified by mgrawunder on 2025/09/09 08:42

edited by mgrawunder
on 2025/09/03 10:18
Change comment: There is no comment for this version
edited by Marco Grawunder
on 2025/08/15 11:29
Change comment: There is no comment for this version

Summary

Details

insert_drive_file Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.mgrawunder
1 +XWiki.MarcoGrawunder
Content
... ... @@ -34,10 +34,7 @@
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
38 38  
39 -[[image:1756886220468-891.png]]
40 -
41 41  == Server laufen lassen ==
42 42  
43 43  [[image:1755246035428-328.png]]
... ... @@ -68,7 +68,7 @@
68 68  [[image:1755246173415-934.png]]
69 69  
70 70  
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: **
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: **
72 72  
73 73  **SPRING_PROFILES_ACTIVE=dev**
74 74  
... ... @@ -117,8 +117,6 @@
117 117  
118 118  = OpenAPI =
119 119  
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 -
122 122  [[image:1755250026156-269.png]]
123 123  
124 124  [[image:1755250050031-304.png]]
... ... @@ -133,64 +133,3 @@
133 133  Kann JSON oder YAML (Yet Another Markup Language) verwenden YAML ist wie JSON nur mit weniger Klammern
134 134  
135 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 -
attach_file 1756886220468-891.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.mgrawunder
Size
... ... @@ -1,1 +1,0 @@
1 -161.0 KB
Content info
attach_file 1756887005209-855.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.mgrawunder
Size
... ... @@ -1,1 +1,0 @@
1 -56.9 KB
Content info
attach_file 1756887037619-847.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.mgrawunder
Size
... ... @@ -1,1 +1,0 @@
1 -52.5 KB
Content info
attach_file 1756887436525-790.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.mgrawunder
Size
... ... @@ -1,1 +1,0 @@
1 -62.8 KB
Content info
attach_file 1756887488020-376.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.mgrawunder
Size
... ... @@ -1,1 +1,0 @@
1 -187.5 KB
Content info