Trajectplanner API Documentatie

Laatst geupdate 17 mar. om 11:30

Inleiding

De Trajectplanner API biedt toegang tot informatie over studenten, studieonderdelen, semesters en tentamens binnen de Software Engineering (SE) studierichting. Deze documentatie beschrijft de beschikbare endpoints, de responses en hoe de API gebruikt kan worden.

Authenticatie

De API vereist geen authenticatie op dit moment, so handle with care.

De cijferadministratie kan gegevens invoeren en bijwerken met het studentnummer 'admin' en het wachtwoord 'admin'. Omdat wachtwoorden niet gehasht worden opgeslagen in de database, wordt aangeraden om eenvoudige wachtwoorden te gebruiken voor testdoeleinden.

Endpoints

1. Studenten ophalen

Endpoint:

GET /students

Response code: 200 OK

Beschrijving: Dit endpoint retourneert een lijst van alle studenten in de SE studierichting.

Endpoint:

GET /students/{id}
GET /students/{student_number}

Response code: 200 OK

Beschrijving: Dit endpoint retourneert informatie over een specifieke student op basis van de ID of studentnummer. In geval van studentnummer, gebruik dan dashes in the URL. Bijvoorbeeld: SE-1123-074 in plaats van SE/1123/074

2. Studenten toevoegen

Endpoint:

POST /students

Response code: 201 Created bij succesvolle toevoeging, 400 Bad Request bij foutieve invoer en 500 Internal Server Error bij een databasefout.

Beschrijving: Dit endpoint voegt een nieuwe student toe op basis van de volgende vereiste velden:

3. Studenten updaten

Endpoint:

PUT /students

Response code: 200 OK bij een succesvolle update, 400 Bad Request bij foutieve invoer, 404 Not Found als de student niet bestaat en 500 Internal Server Error bij een databasefout.

Beschrijving: Dit endpoint werkt een bestaande student bij. Minimaal student_id of student_number en één veld moet worden opgegeven om een update uit te voeren. De volgende parameters kunnen worden gebruikt:

4. Studenten verwijderen

Endpoint:

DELETE /students

Response code: 200 Ok bij succesvolle toevoeging, 400 Bad Request bij foutieve invoer en 500 Internal Server Error bij een databasefout.

Beschrijving: Dit endpoint verwijdert een student op basis van 1 van de volgende vereiste velden:

5. Semesters ophalen

Endpoint:

GET /semesters

Response code: 200 OK

Beschrijving: Dit endpoint retourneert een lijst van alle semesters binnen de SE opleiding.

6. Studieonderdelen ophalen

Endpoint:

GET /courses

Response code: 200 OK

Beschrijving: Dit endpoint retourneert een lijst van alle studieonderdelen binnen de SE opleiding.

Endpoint:

GET /courses/{id}
GET /courses/{course_code}

Response code: 200 OK

Beschrijving: Dit endpoint retourneert informatie over een specifieke onderdeel op basis van de ID of course code.

7. Tentamens ophalen

Endpoint:

GET /exams

Response code: 200 OK

Beschrijving: Dit endpoint retourneert een lijst van alle tentamens, inclusief de studenten die ze hebben gemaakt, de behaalde scores en het type toetsing (regulier of her).

Endpoint:

GET /exams/{id}

Response code: 200 OK

Beschrijving: Dit endpoint retourneert informatie over een specifieke tentamen op basis van de ID.

8. Tentamens toevoegen

Endpoint:

POST /exams

Response code: 201 Created bij succesvolle toevoeging, 400 Bad Request bij foutieve invoer en 500 Internal Server Error bij een databasefout.

Beschrijving: Dit endpoint voegt een nieuw tentamen toe op basis van de volgende vereiste velden:

9. Tentamens updaten

Endpoint:

PUT /exams

Response code: 200 OK bij een succesvolle update, 400 Bad Request bij foutieve invoer, 404 Not Found als het tentamen niet bestaat en 500 Internal Server Error bij een databasefout.

Beschrijving: Dit endpoint werkt een bestaand tentamen bij. Minimaal één veld moet worden opgegeven om een update uit te voeren. De volgende parameters kunnen worden gebruikt:

10. Tentamens verwijderen

Endpoint:

DELETE /exams

Response code: 200 OK bij succesvolle toevoeging, 400 Bad Request bij foutieve invoer en 500 Internal Server Error bij een databasefout.

Beschrijving: Dit endpoint verwijdert tentamens op basis van de volgende vereiste velden:

11. Cijfers ophalen

Endpoint:

GET /scores

Response code: 200 OK

Beschrijving: Dit endpoint retourneert een lijst van alle behaalde cijfers, inclusief studentgegevens, onderdeelinformatie en het tijdstip waarop het cijfer is geregistreerd.

Endpoint:

GET /scores/{id}

Response code: 200 OK

Beschrijving: Dit endpoint retourneert informatie over een specifiek cijfer op basis van de ID.

Endpoint:

GET /scores/{student_number}

Response code: 200 OK

Beschrijving: Dit endpoint retourneert informatie over alle cijfers van een specifieke student op basis van de studentnummer. In geval van studentnummer, gebruik dan dashes in the URL. Bijvoorbeeld: SE-1123-074 in plaats van SE/1123/074

12. Cijfers toevoegen

Endpoint:

POST /scores

Response code: 201 Created bij succesvolle toevoeging, 400 Bad Request bij foutieve invoer en 500 Internal Server Error bij een databasefout.

Beschrijving: Dit endpoint voegt een nieuw cijfer toe op basis van de volgende vereiste velden:

13. Cijfers updaten

Endpoint:

PUT /scores

Response code: 200 OK bij een succesvolle update, 400 Bad Request bij foutieve invoer, 404 Not Found als het cijfer niet bestaat en 500 Internal Server Error bij een databasefout.

Beschrijving: Dit endpoint werkt een bestaand cijfer bij. Minimaal één veld moet worden opgegeven om een update uit te voeren. De volgende parameters kunnen worden gebruikt:

14. Cijfers verwijderen

Endpoint:

DELETE /scores

Response code: 200 OK bij succesvolle verwijdering, 400 Bad Request bij foutieve invoer en 500 Internal Server Error bij een databasefout.

Beschrijving: Dit endpoint verwijdert een cijfer op basis van de volgende vereiste velden: