REST

Der REST-Webservice basiert auf dem Java Standard JAX-RS und erwartet die Referenzimplementierung Jersey. Jackson kommt als Marshaller zur Erzeugung der JSON Repräsentation zum Einsatz.

Siehe auch

Jersey

REST-API

Die API des Services richtet sich nach gängigen REST Konventionen:

GET Auflisten von vorhandenen Objekten, Zugriff auf einzelnes Objekt
PUT Ersetzen einer Liste / eines Objektes
POST Erzeugen eines neuen Objektes
DELETE Löschen einer Liste / eines Objektes

Die jeweiligen Resourcen sind sinngemäß nach Modulen auf verschiedene Klassen verteilt: CanteenResource das Mensa Modul, FacultyRessource für Vorlesungen, InstitutionResource für Personen und ihre Funktionen und PersonResource für Kontaktdaten.

Canteen Ressource

Speiseplan

GET /canteen

Speiseplan der nächten Woche als Diet[]

GET /canteen/{daysFromToday}

Speiseplan eines einzelnen Tages

Faculty Ressource

Fakultäten

/faculty

Alle vorhandenen Fakultäten als FacultyDto[]

/faculty/{facultyId}

Einzelne Fakultät als FacultyDto

Studiengänge

/faculty/{facultyId}/course

Alle Studiengänge einer Fakultät als CourseDto[]

/faculty/{facultyId}/course/{courseId}

Einzelner Studiengang einer Fakultät als CourseDto

Semester

/faculty/{facultyId}/course/{courseId}/semester

Alle Semester eines Studiengangs als SemesterDto[]

/faculty/{facultyId}/course/{courseId}/semester/{semesterId}

Einzelnes Semester eines Studiengangs als SemesterDto

Vorlesungen

/faculty/{facultyId}/course/{courseId}/semester/{semesterId}/lecture

Alle Vorlesungen eines Semesters als LectureDto[]

/faculty/{facultyId}/course/{courseId}/semester/{semesterId}/lecture/{lectureId}

Einzelne Vorlesung im Detail als LectureDetailDto

Termine

/faculty/ {facultyId}/course/{courseId}/semester/{semesterId}/lecture/{lectureId}/term

Alle Termine zu einer Vorlesung als TermDto[]

/faculty/ {facultyId}/course/{courseId}/semester/{semesterId}/lecture/{lectureId}/term/{termId}

Einzelner Termin einer Vorlesung als TermDto

InstitutionResource

Institutionen

/institution

Alle Institutionen als InstitutionDto[]

/institution/{institutionId}

Einzelne Institution als InstitutionDto

In Institution tätige Personen

/institution/{institutionId}/person

Alle Personen einer Institution als PersonFunctionDto[]

PersonResource

Personen

/person/{personId}

Einzelne Person als PersonDetailDto