Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:ffit:3-jahr:java:learningunits:lu04:a [2025/09/07 22:38] – apeter | de:modul:ffit:3-jahr:java:learningunits:lu04:a [2025/09/09 00:10] (aktuell) – apeter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== LU04a - GUI ====== | + | ====== LU04a - GUI & API ====== |
| + | |||
| + | Bisher haben wir die Library App der Einfachheit halber via Konsole bedient, aber eine grafische Benutzeroberfläche ist gewünscht. | ||
| ==== Java GUI ==== | ==== Java GUI ==== | ||
| - | Es gibt verschiedene | + | Es gibt verschiedene Java-GUI-Frameworks, die teilweise historisch aufeinander aufbauen. Beispiele |
| ^ Java AWT ^ Java Swing ^ JavaFX ^ | ^ Java AWT ^ Java Swing ^ JavaFX ^ | ||
| Zeile 9: | Zeile 11: | ||
| | 1996 eingeführt mit Java Version 1.0 | 1998 eingeführt mit Java Version 1.2 | 2008 eigenständig, | | 1996 eingeführt mit Java Version 1.0 | 1998 eingeführt mit Java Version 1.2 | 2008 eigenständig, | ||
| - | Heutzutage werden oft webbasierte | + | In der heutigen Praxis sind Desktop-Applikationen jedoch im Unternehmensumfeld eher unüblich geworden. Stattdessen dominieren |
| - | Es gibt aber auch Varianten wie JSF (Jakarta Faces), bei denen der Java-Code die entsprechenden HTML-Seiten generiert | + | Heutzutage werden Benutzeroberflächen meist als Web-GUIs umgesetzt. Das Frontend ist dabei vom Backend entkoppelt und kommuniziert über eine REST-API oder andere Schnittstellen. |
| + | * Das Backend | ||
| + | * Das Frontend (z. B. in Angular, React oder Vue) übernimmt Darstellung | ||
| + | Durch diese Trennung können beide Seiten unabhängig voneinander weiterentwickelt werden. | ||
| + | |||
| + | ==== JSF ==== | ||
| + | Es gibt aber auch Frameworks wie Jakarta Faces (JSF), bei denen der Java-Code direkt HTML-Seiten generiert. Die Anwendung läuft dann sowohl als Backend als auch als Webserver, der die Oberfläche bereitstellt. Dieses Modell koppelt Frontend und Backend enger zusammen und ist vor allem in klassischen Unternehmensanwendungen verbreitet. | ||
| ==== REST API ==== | ==== REST API ==== | ||
| - | REST (Representational State Transfer) | + | Das Architekturmuster |
| - | * **GET** -> Anfrage | + | |
| - | * **POST** -> Übermittlung | + | REST nutzt die Standardmethoden des HTTP-Protokolls für den Datenaustausch: |
| - | * **PUT** -> Übermittlung von Daten zur Speicherung | + | * **GET** -> Anfrage |
| - | * **PATCH** -> Übermittlung von Daten zur Aktualisierung | + | * **POST** -> Übermittlung |
| - | * **DELETE** -> Anfrage | + | * **PUT** -> Übermittlung von Daten zur vollständigen Aktualisierung (Überschreiben eines Datensatzes) |
| + | * **PATCH** -> Übermittlung von Daten zur teilweisen | ||
| + | * **DELETE** -> Aufforderung | ||
| + | |||
| + | ==== Javalin ==== | ||
| + | |||
| + | Javalin ist ein leichtgewichtiges Web Framework (ähnlich wie Flask für Python). | ||
| + | |||
| + | **Anforderung 4**: Die Logik des Befehls '' | ||
| + | |||
| + | Die notwendige Abhängigkeit zu '' | ||
| + | |||
| + | Erstellen Sie eine neue Klasse '' | ||
| + | |||
| + | Die Route soll ''/ | ||
| + | |||
| + | Testen Sie Ihre Applikation manuell unter: http:// | ||
| + | |||
| + | Führen Sie zudem die Tests in der Klasse '' | ||
| + | |||
| + | |||
| + | ==== Postman ==== | ||
| + | |||
| + | Um POST,PUT etc. zu testen, empfiehlt sich Postman. Installieren Sie Postman (https:// | ||
| + | |||
| + | {{: | ||