Übung »REST-API spezifizieren (am Beispiel eines Campus-Management-Systems CAMS)«
In dieser Übung geht es darum, für die in einer vorangegangenen Übung gefundenen Aggregates jeweils ein REST-API zu spezifizieren.
- Dauer
- Ca. 75 min
- Video(s) hierzu
-
- Erfordert vorher die Bearbeitung von ...
- Übung Aggregates bestimmen (am Beispiel eines Campus-Management-Systems CAMS)
Worum geht es?
In der Übung Aggregates bestimmen (am Beispiel eines Campus-Management-Systems CAMS) haben
Sie die Aggregates für das kleine CAMS-Beispiel ermittelt.

Jetzt sollen Sie aufbauend auf den Aggregates REST-Endpoints definieren. Halten Sie sich dabei an die Konventionen aus
dem entsprechenden Video.
Ihre Aufgabe
Definieren Sie REST-Endpoints für die folgenden Zwecke. Request- und Response-Body interessieren erst einmal nicht.
Sie können einen REST-Endpoint in der Form GET /customers/{c-id}
notieren.
- Finde alle Kurse (Course)
- Finde einen bestimmten Kurs anhand seiner ID
- Setze einen Professor für einen Kurs
- gebe alle Studiengänge (StudyProgram) zurück
- gebe einen bestimmten Studiengang zurück
- gebe alle Fächer (Course) zu einem Studiengang zurück
- lösche alle Studiengänge
- lösche alle Zuordnungen von Fächern (Course) zu einem Studiengang
- lege neuen Studiengang an
- Ordne ein Fach (Course) einem Studiengang zu
- Ändere den Namen eines Studiengangs
- Finde alle Studierenden mit Matrikel-Nummern, die mit 1,2 oder 3 beginnen
- Gebe die Adresse einer Studentin zurück
- Ändere die Adresse eines Studenten
- Finde alle geplanten Treffen (PlannedMeeting) einer Lerngruppe (StudyGroup) an Donnerstagen (Annahme: Tage haben Nummern, Do = 4)
- Lege ein neues Treffen einer Lerngruppe zum Thema „REST“ an
Lösung
- Finde alle Kurse (Course)
- Finde einen bestimmten Kurs anhand seiner ID
- Setze einen Professor für einen Kurs
PUT /courses/{course-id}/professors/{professor-id}
- gebe alle Studiengänge (StudyProgram) zurück
- gebe einen bestimmten Studiengang zurück
GET /studyPrograms/{studyProgram-id}
- gebe alle Fächer (Course) zu einem Studiengang zurück
GET /studyPrograms/{studyProgram-id}/courses
- lösche alle Studiengänge
- lösche alle Zuordnungen von Fächern (Course) zu einem Studiengang
DELETE /studyPrograms/{studyProgram-id}/courses
- lege neuen Studiengang an
- Ordne ein Fach (Course) einem Studiengang zu
PUT /studyPrograms/{studyProgram-id}/courses/{course-id}
- Ändere den Namen eines Studiengangs
PATCH /studyPrograms/{studyProgram-id}
(der neue Name muss in den Request-Body)
- Finde alle Studierenden mit Matrikel-Nummern, die mit 1,2 oder 3 beginnen
GET /students?matrNumFrom=10000000&matrNumUntil=39999999
- Gebe die Adresse einer Studentin zurück
GET /students/{student-id}/address
- Ändere die Adresse eines Studenten
PUT /students/{student-id}/address
- Finde alle geplanten Treffen (PlannedMeeting) einer Lerngruppe (StudyGroup) an Donnerstagen (Annahme: Tage haben Nummern, Do = 4)
GET /studyGroups/{studyGroup-id}/plannedMeetings?day=4
- Lege ein neues Treffen einer Lerngruppe zum Thema „REST“ an
POST /studyGroups/{studyGroup-id}/plannedMeetings
(das Thema “REST” und sonstige nötigen Attribute müssen dann in den Request-Body)