Aufbau der Routen

Die Basis Route der API ist https://beste.schule/api wenn im folgenden von Routen die Rede ist, ist immer eine Unterroute von dieser Basisroute gemeint, wird zum Beispiel die Route students erwähnt ist tatsächlich https://beste.schule/api/students gemeint.

Eine komplette Liste aller verfügbaren Routen finden Sie hier:

Index

Jede Entität eine Index-Route, welche immer die englische Mehrzahl ist. Bei Endnoten ist die Index-Route zum Beispiel: finalgrades

Die Index-Route gibt mit einer GET-Anfrage eine Liste aller Entitäten zurück, die der eingeloggte Nutzer sehen kann.

Store

Man kann neue Entitäten anlegen, indem man eine POST-Anfrage an die Index-Route schickt. Dieser sollte im Anfragen-Körper die notwendigen Daten für die neue Entität haben.

Möchte man zum Beispiel eine neue Endnote mit dem Wert 1 anlegen, für die Schüler*in mit der ID 10, dem Fach mit der ID 20 und dem Halbjahr mit der ID 30, so schickt man eine POST Anfrage an finalgrades mit dem Body:

{
    "value": 1,
    "student_id": 10,
    "subject_id": 20,
    "interval_id": 30
}

Show

Insofern man eine ID einer einzigen Entität hat, kann man mit dieser nur diese eine Entität anfragen. Diese ID hängt man einfach an das Ende der Index-Route.

Möchte man zum Beispiel die Endnote mit der ID 1234 erhalten, ist die Route dafür finalgrades/1234 und insofern man die Zugriffsrechte hat erhält man mit einer GET-Anfrage das korrekte Endnotenobjekt.

Update

Mit einer PUT Anfrage an die Show-Route kann man die einzelnen Attribute einer Entität ändern.

Möchte man zum Beispiel die Endnote mit der ID 1234 auf 3 ändern, so schickt man eine PUT Anfrage an finalgrades/1234 mit dem Body

{
    "value": 3
}

Destroy

Möchte man eine Entität löschen, so sendet man einfach eine DELETE Anfrage an die Show-Route und die Entität ist gelöscht.

Zum Löschen von einer Endnote mit der ID 1234 sendet man also einfach eine DELETE Anfrage an finalgrades/1234

Restore

Alle für Verwaltungsvorgänge relevanten Einträge werden archiviert, Änderungen lassen sich über History einsehen und die Einträge lassen sich wiederherstellen.