Seite 1 von 2
Schüler über die API Abrufen
Verfasst: Freitag 3. April 2026, 18:17
von kroerig
Hallo,
vielleicht kann mir hier jemand einen Tipp geben. Ich möchte über die API eine Liste aller gerade aktiven Schüler abrufen.
Im SwaggerUI habe ich dazu folgenden Endpunkt gefunden, der von der Beschreibung her genau diese Liste liefern soll:
/db/{schema}/schueler/aktuell
Erstellt eine Liste aller im aktuellen Schuljahresabschnitt vorhanden Schüler unter Angabe der ID, des Vor- und Nachnamens, der Klasse, des Jahrgangs, sein Status (z.B. aktiv), einer Sortierreihenfolge, ob sie in der Anwendung sichtbar bzw. änderbar sein sollen.
Wenn ich den Abfrage, erhalte ich knapp 4000 Einträge zurück. Das ist so knapp das fünffach von dem, was ich erwartet hätte.
Was stimmt da nicht? Die Funktion des Endpunkts oder die Beschreibung? Ein "Erstellt eine Liste aller im SVWS vorhandener Schüler ..." trifft es vermutlich ehr. Da sind nämlich auch Schüler dabei, die die Schule bereits 1992 mit Abitur verlassen haben.
Re: Schüler über die API Abrufen
Verfasst: Freitag 3. April 2026, 21:11
von M. Plümper
Ich denke, dass dort alle Schüler erfasst werden, die einen Status im aktuellen Abschnitt haben. Da zählen auch die Abgänger usw. zu. Sie können die Liste dann anhand des Status filtern (2 müsste aktiv sein).
Re: Schüler über die API Abrufen
Verfasst: Freitag 3. April 2026, 21:16
von kroerig
Das die Abgänger im aktuellen Abschnitt dabei sind, Ok.
Aber die Schule hat max. 800 Schüler pro Jahr und keine 4000.
Und Abgänger aus 1992 können nicht im aktuellen Abschnitt sein.
Re: Schüler über die API Abrufen
Verfasst: Freitag 3. April 2026, 23:33
von hmt
Es gibt auch
Code: Alles auswählen
/db/{schema}/schueler/abschnitt/{abschnitt}/auswahlliste
Da werden alle Infos aus dem aktuellen Abschnitt geholt, also auch die Schüler. Im Client wird das für die Auswahlliste verwendet.
Alternativ kann auch die externe Schnittstelle für Lernplattformen verwendet werden.
Re: Schüler über die API Abrufen
Verfasst: Freitag 3. April 2026, 23:39
von kroerig
Die habe ich auch schon versucht. Auch da erhalte ich 4000 Schüler statt der erwarteten etwa 800.
Die Lernplattformen nützen mir nichts, da die Funktion nicht verwendet wird.
Re: Schüler über die API Abrufen
Verfasst: Freitag 3. April 2026, 23:43
von hmt
Da sind ebenfalls alle Schülerdaten des aktuellen Abschnitts drin, unabhängig von der genutzten Platform
Re: Schüler über die API Abrufen
Verfasst: Freitag 3. April 2026, 23:47
von kroerig
hmt hat geschrieben: Freitag 3. April 2026, 23:43
Da sind ebenfalls alle Schülerdaten des aktuellen Abschnitts drin, unabhängig von der genutzten Platform
In welchem Endpunkt? Den für die Lernplattformen kann ich nicht nutzen, da es keine Lernplattformen gibt. Mir fehlt also schon die ID für die Abfrage.
Re: Schüler über die API Abrufen
Verfasst: Dienstag 7. April 2026, 10:11
von M. Plümper
Guten Morgen,
ich glaube, ich habe das oben nicht klar genug formuliert. Sobald ein Schüler einmal eine Lernabschnitt an der Schule hatte (also die Schule besucht hat), ist er ab diesem Zeitpunkt auf immer und ewig Schüler der Schule, das einzige, was sich ändert, ist sein Status. Nach dem er die Schule verlassen hat, hat er halt den Status Abschluss oder Abgang oder Ehemaliger. Und das gilt auch noch 30 Jahre später. Und mit diesem Status ist er auch nach 30 Jahren noch im aktuellen Schuljahresabschnitt enthalten. So ist wohl die Dokumentation zum API-Endpunkt zu lesen.
Erstellt eine Liste aller im aktuellen Schuljahresabschnitt vorhanden Schüler unter Angabe der ID, des Vor- und Nachnamens, der Klasse, des Jahrgangs, sein Status (z.B. aktiv), einer Sortierreihenfolge, ob sie in der Anwendung sichtbar bzw. änderbar sein sollen.
Daher noch mal meine Empfehlung. Nach der Abfrage einfach auf den Status filtern. Dann hat man die aktiven SuS.
Und ja, ich persönlich würde auch einen Endpunkt gut finden, wo man neben dem Schuljahresabschnitt noch eine Liste an Statusinformationen mitgeben könnte, damit man gleich die gewünschte Schülergruppe erhält.
Re: Schüler über die API Abrufen
Verfasst: Dienstag 7. April 2026, 10:16
von kleind
Hallo Herr Kroerig,
Sie können sich einen Endpunkt z.B. "meinExport" definieren unter /db/{schema}/schule/lernplattformen/create (vgl. Screenshot unten)
Wir haben diese Funktionalität noch nicht im Webclient umgesetzt.
Anschließend kann ein JSON über den Webclient -> Schule -> Lernplattformen Export oder über die zugehörige Api
Code: Alles auswählen
https://IHR_SERVER/api/external/IHRE_DB/v1/lernplattformen/1/1
abgerufen werden.
Re: Schüler über die API Abrufen
Verfasst: Dienstag 7. April 2026, 10:49
von kroerig
Hallo,
und dann? Habe ich eine Lernplattform, aber noch keine Zuordnung bzw. Filter zu den aktiven Schülern.
Und ja, ich persönlich würde auch einen Endpunkt gut finden, wo man neben dem Schuljahresabschnitt noch eine Liste an Statusinformationen mitgeben könnte, damit man gleich die gewünschte Schülergruppe erhält.
Für die Lehrer gibt es ja so etwas ähnliches. Da kann ich per POST eine Liste von IDs übergeben und bekomme die Stammdaten zurück. Soetwas auch für Schüler zu haben, wäre super. Eine Datenbank filtert nämlich schneller als jede Scriptsprache.
Beispiel:
Eine Abfrage von Stammdaten (mit Auflösen der Orte) und Unterrichtsfächern für alle aktiven Lehrer dauert bei mir über die API 20 Sekunden. Die Datenbank braucht für eine gleiche Abfrage mit mehreren Joins unter einer Sekunde.
Jetzt 4000 Datensätze durchiterieren kann ja nicht im Sinne des Erfinders sein, oder? Später brauche ich nämlich auch noch eine Liste mit allen Kurszuordnungen. Da wird die API ja nie fertig.