Basisprojekt

Version 37.4 by mgrawunder on 2025/09/03 10:04

SoftwareprojektLogo.png

Hier folgen Erklärungen des neuen Basisprojekts. Es wird um die folgenden Themen gehen:

Basisprojekt mit IntelliJ einrichten

1755245956916-184.png

Clone

1755245971657-468.png

1755245980026-164.png

Auf anderen Branch wechseln (hier development)

1755245996886-733.png

Initialer Build (Generierung)

1755246008466-477.png

1755246018789-616.png

Lombok Plugin

Lombok Plugin installiert? Wenn nein jetzt machen

1755248508652-523.png

Hinweis: Wenn man schon hier ist, kann man auch das Spring-(Boot)-Plugin installieren

1756886220468-891.png

Server laufen lassen

1755246035428-328.png

... und ggf. Lombok aktivieren (Man wird nach dem Start der Anwendung gefragt)

1755246072443-191.png

1755246118807-452.png

Logging umstellen

1755246135109-325.png

1755246147827-679.png

1755246162330-595.png

Development Profil aktivieren

damit dann user1 - user9 angelegt werden und man nicht jedesmal neu registrieren muss

1755246173415-934.png

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: 

SPRING_PROFILES_ACTIVE=dev

1755248752596-839.png

Client starten

1755246257400-525.png

1755246212916-883.png

1755246223246-834.png

Mehrere Instanzen des Clients ermöglichen

1755246233218-893.png

Wenn folgendes kommt, ist entweder das "dev" Profil nicht aktiviert, der Nutzer wurde nicht angelegt. Wenn der Server nicht läuft, gibt es eine andere Fehlermeldung. 

1755246292057-581.png

Kurzer Blick ins Basisprojekt

1755249096987-249.png

1755249136156-419.png

Screenshots

1755249228556-469.png

Kommunikation Client --> Server

1755249285866-367.png

Der Server verwendet das REST-Protokoll und als Austauschformat JSON

OpenAPI

(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)

1755250026156-269.png

1755250050031-304.png

  • Paths: Endpunkte der API (z.B. /users, /lobbies).
  • Operations: Spezifikation von Methoden wie GET, POST.
  • Definitions: Detaillierte Beschreibung von Eingabe- und Ausgabestrukturen.
  • Security: Authentifizierungsmechanismen.

1755250061990-172.png

Kann JSON oder YAML (Yet Another Markup Language) verwenden YAML ist wie JSON nur mit weniger Klammern

1755250157536-746.png

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

Dort wird die Datei auch grafisch dargestellt.

Maven und OpenAPI

Die OpenAPI Datei kann verwendet werden, um sich die REST-Schnittstellen generieren  zu lassen.

Erweiterung der RES