Flask Academy · Lektion

Endpoints für einzelne und mehrere Datensätze

Geben Sie ein einzelnes Element oder eine Sammlung zurück.

Lektion 2 von 413 Schritte

Endpoints für einzelne und mehrere Datensätze ist eine kostenlose Flask Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Flask Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Zwei Formen des Lesens

Eine REST-Ressource benötigt zwei Lese-Endpunkte: einen, der ein einzelnes Element anhand seiner ID zurückgibt, und einen, der die gesamte Sammlung zurückgibt. 📚

Listen-Route für mehrere Elemente

Die Sammlung liegt unter einem einfachen Pfad wie /users. Eine GET-Anfrage dorthin sollte jeden passenden Datensatz zurückgeben.

@app.route("/users")
def list_users():
    ...

Alle laden

Rufen Sie die vollständige Menge mit query.all() ab. Sie erhalten eine Python-Liste von Modellinstanzen, die Sie serialisieren können.

users = User.query.all()

Die Sammlung serialisieren

jsonify kann Modellobjekte nicht direkt ausgeben. Wandeln Sie daher zunächst jede Zeile in ein dict um und geben Sie anschließend die Liste zurück.

return jsonify([{"id": u.id, "name": u.name} for u in users])

Detail-Route für ein Element

Ein einzelnes Element befindet sich unter /users/<id>. Die id im Pfad gibt genau an, welche Zeile geladen werden soll.

@app.route("/users/<int:user_id>")
def get_user(user_id):
    ...

Diese eine Zeile abrufen

Verwenden Sie get() mit der ID aus dem Pfad, um den passenden Datensatz direkt aus der Datenbank abzurufen.

user = User.query.get(user_id)

Das einzelne Element zurückgeben

Verpacken Sie die gefundene Zeile in ein dict und geben Sie sie mit jsonify zurück. Ihr Client erhält ein einzelnes, übersichtliches JSON-Objekt.

return jsonify({"id": user.id, "name": user.name})

Den fehlenden Datensatz behandeln

Wenn get None zurückgibt, war die ID falsch. Antworten Sie daher mit 404, statt beim Zugriff auf einen None-Wert einen Fehler auszulösen.

if user is None:
    return jsonify(error="not found"), 404

Die Prüfung mit get_or_404 überspringen

Flask-SQLAlchemys get_or_404() ruft einen Datensatz anhand der ID ab oder bricht automatisch mit 404 ab. Dadurch entfällt Boilerplate-Code in Detailansichten.

user = User.query.get_or_404(user_id)

Lange Listen paginieren

Die Rückgabe von Tausenden Zeilen ist langsam. Verwenden Sie paginate(), um die Sammlung in Seiten aufzuteilen, die Ihr Client einzeln anfordern kann.

page = User.query.paginate(page=1, per_page=20)

Die Liste gibt ein Array zurück

Halten Sie die Strukturen vorhersehbar: Die Sammlungs-Route gibt ein JSON-Array zurück, während die Detail-Route ein einzelnes Objekt zurückgibt.

Schnelltest

Eine Anfrage erreicht /users/42, aber keine solche Zeile existiert. Was sollte der Endpunkt tun?

Zusammenfassung: Datensätze lesen

Sie haben eine Listen-Route erstellt, die ein Array zurückgibt, und eine Detail-Route, die ein Element zurückgibt, mit 404 für fehlende Zeilen. So werden Datensätze richtig gelesen! 🎉

Kostenlos starten

Lerne Python mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „Endpoints für einzelne und mehrere Datensätze“ kostenlos?

Ja — der vollständige Text von „Endpoints für einzelne und mehrere Datensätze“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Flask Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Endpoints für einzelne und mehrere Datensätze“?

Geben Sie ein einzelnes Element oder eine Sammlung zurück. Du übst Flask Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Flask Academy zu starten?

Keine Vorkenntnisse erforderlich. Flask Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Endpoints für einzelne und mehrere Datensätze“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Flask Academy-Lektion Code schreiben und ausführen?

Ja. Jede Flask Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Datensätze erstellen und Sessions committen
  2. Endpoints für einzelne und mehrere Datensätze
  3. Bestehende Datensätze sicher aktualisieren
  4. Löschen und fehlende Zeilen behandeln
← Zurück zu Flask Academy