2.9 KiB
Übungsblatt 06
1. SWAGGER-Übung: Workshop-API
Aufgabenstellung: Erstellen Sie eine OpenAPI-Spezifikation für die Workshop-Anmeldung aus Übungsblatt 04 (HTML-Formular).
Arbeitsschritte
-
Setzen die OpenAPI-Version auf
3.0.0. -
Setzen Sie Meta-Daten wie Titel und API-Version im Info-Objekt.
-
Setzen Sie
https://web4-637691723779.europe-west1.run.appals URL im Servers-Objekt. -
Setzen Sie einen Pfad
/registrierungfür die HTTP-MethodePOST. Definieren Sie eine Beschreibung, den Request-Body sowie mögliche Antworten des Servers.- Request-Body für die Übergabe von Formulardaten
- Request-Body für die Übergabe von JSON-Daten
Tipp: Verwenden Sie das Components-Objekt.
-
Verwenden Sie Enums (https://swagger.io/docs/specification/v3_0/data-models/enums/) für die Spezifikation der Checkboxen und der Radiobuttons (s. Hinweis unten).
- Beispiel für
enumin JSON-OpenAPI:
"farbe": { "type": "string", "enum": ["rot","gruen","blau"], "example": "gruen" }, - Beispiel für
-
Testen Sie Ihre API-Spezifikation mit Swagger.
Hinweis
Der serverseitige API-Endpunkt hat sich geändert (neue URL: https://web4-637691723779.europe-west1.run.app) und wurde nun folgendermaßen implementiert:
- Wenn die Checkbox aktiviert wurde, wird für agb, newsletter und equipment nur noch der Wert (
value-Attribut) ja akzeptiert. - Für format werden die Werte (
value-Attribut) online und praesenz akzeptiert, je nach dem, welcher Radiobutton aktiviert wurde. - Die Eingabefelder zu Vorname, Nachname, AGB und Format sind nun Pflichtfelder.
2. Go-Übung: Kommandozeilenprogramm
Aufgabenstellung: Entwickeln Sie ein Kommandozeilenprogramm in Go, mit dem Nutzer:innen ihre persönliche Büchersammlung verwalten können.
Arbeitsschritte
Implementieren Sie ein Programm mit folgenden Funktionen:
-
Buch hinzufügen
go run main.go book.go add "Titel" "Autor"→ Fügt ein neues Buch zur Sammlung hinzu.
-
Bücher auflisten
go run main.go book.go list→ Zeigt alle Bücher mit ID, Titel, Autor und Lesestatus.
-
Buch als gelesen markieren
go run main.go book.go read <ID>→ Markiert das Buch mit der angegebenen ID als gelesen.
-
Persistenz
- Die Bücher sollen in einer Datei
books.jsongespeichert und beim Programmstart wieder geladen werden. - Verwenden Sie dafür das
encoding/json-Paket undos.ReadFile/os.WriteFile.
- Die Bücher sollen in einer Datei
Hinweise
- Verwenden Sie
structfür die Buch- und Bibliotheksdaten. - Arbeiten Sie mit
slicezur Verwaltung der Bücherliste. - Nutzen Sie Methoden zur Kapselung von Logik (z. B.
Add,MarkRead,Save). - Behandeln Sie Fehler sinnvoll und benutzerfreundlich.
- Strukturieren Sie Ihr Projekt in mindestens zwei Dateien (
main.go,book.go).