Endpoints für einzelne und mehrere Datensätze
Geben Sie ein einzelnes Element oder eine Sammlung zurück.
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"), 404Die 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! 🎉
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
- Datensätze erstellen und Sessions committen
- Endpoints für einzelne und mehrere Datensätze
- Bestehende Datensätze sicher aktualisieren
- Löschen und fehlende Zeilen behandeln