LU03.A01 - Bibliothek

Erstelle eine Webapplikation mit Services zur Verwaltung von Büchern in einer Bibliothek.

GitHub Classroom Assignment

In der Applikation sind die Klassen und Methoden für das Lesen und Schreiben der Bücher bereits umgesetzt.

Die zentrale Datei zur Definition der Ressourcen und Pfade.

Hier sind die Datenklassen für Library und Book umgesetzt.

In diesem Ordner sind in der Datei books.json einige Bücher als JSON-Struktur gespeichert. Die Datei books.bak.json dient als Backup. Du kannst bei Bedarf den Inhalt dieser Datei kopieren und in books.json einfügen.

In diesem Ordner erstellst du deine Klassen mit den Ressourcen und Services.

  1. Akzeptiere das Assignment im GitHub Classroom.
  2. Klone das Repository in deine IDE.
  3. (PyCharm) Erstelle eine Runtime Configuration für den Flask Server.

Deine Aufgabe ist es, die Ressourcen, Pfade und Services zu definieren und umzusetzen. Für jeden Service ist das Vorgehen gleich:

  1. Lege die URI für die Ressource fest.
  2. Lege fest, mit welcher HTTP-Methode der Service aufgerufen wird.
  3. Lege den Inhalt der Response des Services fest:
    1. Welche Daten und deren Format.
    2. Welche HTTP-Statuscodes.
  4. Falls noch nicht vorhanden, erstelle die Klasse für diese Ressource im Ordner resource.
  5. Realisiere die Methode für den Service.
  6. Teste den Service mit Hilfe von Postman und/oder dem Webbrowser.

Dieser Service liefert ein JSON-Array mit allen Buch-Objekten.

Die Methode liest die Bücherliste aus der Library-Klasse. Die Bücherliste wird als Response an den Aufrufer gesendet.

Dieser Service liefert eine einzelnes Buch als JSON-Objekt.

Die Methode holt anhand der UUID ein Buch aus der Library-Klasse. Falls es gefunden wurde, wird das Buch in der Response an den Aufrufer gesendet.

Dieser Service fügt die Daten eines neuen Buchs in die Bücherliste der Library-Klasse ein. In der Response wird die UUID des neuen Buchs mitgegeben.

Die Methode parst die Formular-Parameter aus dem Request ein. Diese Parameter müssen vorgängig definiert werden. Es wird ein neues Buch-Objekt erstellt und eine neue UUID erzeugt. Die Formulardaten werden in das Buch-Objekt gespeichert. Zuletzt wird das Buch-Objekt am Ende der Bücherliste eingefügt und gespeichert.

Dieser Service ändert die Daten eines bestehenden Buchs in der Bücherliste der Library-Klasse ein.

Die Methode holt anhand der UUID ein Buch aus der Library-Klasse. Falls es gefunden wurde, werden die Formular-Parameter aus dem Request geparst und in das Objekt gespeichert. Zuletzt wird die Bücherliste gespeichert.

Ein weiterer Service ist für das Löschen von Büchern zuständig.

Die Methode holt anhand der UUID ein Buch aus der Library-Klasse. Falls es gefunden wurde, wird das Buch aus der Bücherliste gelöscht. Zuletzt wird die Bücherliste gespeichert.


Marcel Suter

  • modul/m321/learningunits/lu03/aufgaben/buchliste.txt
  • Last modified: 2024/02/07 09:21
  • by msuter