Zum Hauptinhalt springen

Lösungen und Lösungshinweise Band 9

Kapitel 49

Bücher-API

GET /api/buecher
GET /api/buecher/12
POST /api/buecher
PATCH /api/buecher/12
DELETE /api/buecher/12

Kapitel 50

Offene Aufgaben filtern

aufgaben = db.execute(
"SELECT id, titel FROM aufgaben WHERE erledigt = ? ORDER BY id DESC",
(0,)
).fetchall()

Kapitel 51

Logout

@app.post("/logout")
def logout():
session.clear()
return redirect(url_for("login"))

Passwort speichern

passwort_hash = generate_password_hash(passwort)

Kapitel 52

Einheitlicher 404-Fehler

return {
"fehler": {
"code": "NICHT_GEFUNDEN",
"nachricht": "Die Ressource wurde nicht gefunden."
}
}, 404

Kapitel 53

Pflicht-Secret

secret = os.environ.get("SECRET_KEY")

if not secret:
raise RuntimeError("SECRET_KEY muss gesetzt sein.")

Kapitel 54

Einfacher Health Check

@app.get("/health")
def health():
return {"status": "ok"}, 200

Ein öffentlicher Health Check sollte keine Secrets, Pfade oder internen Fehlermeldungen zeigen.