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.