|
@@ -68,4 +68,143 @@ Die Datenbasis diese Moduls ist eine einfache Liste von Ereignissen. Ein Ereigni
|
|
|
|
|
|
|
|
#### *Online* Version
|
|
#### *Online* Version
|
|
|
|
|
|
|
|
-<API-Dokumentation>
|
|
|
|
|
|
|
+Die Konfiguration für den Zugriff auf die API ist in `src/js/config.js` definiert.
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+ api: {
|
|
|
|
|
+ random: 'M1_Risikopaare/Random',
|
|
|
|
|
+ create: 'M1_RisikopaareUserData/Create',
|
|
|
|
|
+ proportions: 'M1_RisikopaareUserData/CountsByPairId/',
|
|
|
|
|
+ url: 'https://www.adaptivetoolbox.net/risikoatlas/api/'
|
|
|
|
|
+ }
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+Dabei setzt sich eine Anfrage an die API aus der URL, dem entsprechenden Endpunkt und gegebenenfalls einem oder mehreren Parametern bzw. einem
|
|
|
|
|
+Für die Abfrage von Daten und das Erstellen neuer Einträge in der Datenbank sind folgende Endpunkte von der API definiert:
|
|
|
|
|
+
|
|
|
|
|
+##### Ereignisdaten
|
|
|
|
|
+
|
|
|
|
|
+Für alle auf Ereignise bezogenen Anfragen an die API werden `GET` Requests an die in der `config.js` festgelegte `api.url` verwendet. Folgende API Endpunkte sind definiert:
|
|
|
|
|
+
|
|
|
|
|
+1. Abfrage eines Datensatzes mit zwei zufällig gewählten Ereignissen:
|
|
|
|
|
+
|
|
|
|
|
+`/M1_Risikopaare/Random`
|
|
|
|
|
+
|
|
|
|
|
+Zurückgegeben wird ein Objekt mit folgender Struktur:
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+{
|
|
|
|
|
+ "id": 1700,
|
|
|
|
|
+ "paar": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "id": 32,
|
|
|
|
|
+ "bezeichnung": "Tod durch Vorsätzliche Selbstbeschädigung",
|
|
|
|
|
+ "basisRisiko": 12.64,
|
|
|
|
|
+ "bezugsrahmen": "innerhalb eines Jahres",
|
|
|
|
|
+ "referenzJahr": "2014",
|
|
|
|
|
+ "referenz": "Destatis"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "id": 59,
|
|
|
|
|
+ "bezeichnung": "Tod durch Essen von 100 kohlegegrillten Steaks",
|
|
|
|
|
+ "basisRisiko": 0.1,
|
|
|
|
|
+ "bezugsrahmen": "innerhalb eines Jahres",
|
|
|
|
|
+ "referenzJahr": "2010",
|
|
|
|
|
+ "referenz": "wiki"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+}
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+2. Abfrage der Liste aller Ereignispaare:
|
|
|
|
|
+
|
|
|
|
|
+`/M1_Risikopaare/Liste`
|
|
|
|
|
+
|
|
|
|
|
+3. Abfrage eines spezifischen Ereigispaars:
|
|
|
|
|
+
|
|
|
|
|
+`/M1_Risikopaare/ById/{id}`
|
|
|
|
|
+
|
|
|
|
|
+wobei `{id}` für die ID des gesuchten Ereignispaares steht.
|
|
|
|
|
+
|
|
|
|
|
+##### Benutzerdaten
|
|
|
|
|
+
|
|
|
|
|
+Um den Vergleich zu anderen Nutzern zu ermöglichen werden die gewählten Antworten mit Benutzer-ID und Ereignispaar-ID gespeichert.
|
|
|
|
|
+
|
|
|
|
|
+1. Erzeugen eines neuen Eintrags in der Datenbank:
|
|
|
|
|
+
|
|
|
|
|
+`/M1_RisikopaareUserData/Create`
|
|
|
|
|
+
|
|
|
|
|
+Per `POST` Request müssen dafür folgende Daten übermittelt werden:
|
|
|
|
|
+- ID des Ereignispaars
|
|
|
|
|
+- ID des aktuellen Nutzers
|
|
|
|
|
+- ID des aktuellen Ereignispaars
|
|
|
|
|
+- Angabe, ob die Antwort richtig oder falsch war.
|
|
|
|
|
+
|
|
|
|
|
+2. Abfrage der "Stimmen" für Ereignisse aus einem Ereignispaar
|
|
|
|
|
+
|
|
|
|
|
+`/M1_RisikopaareUserData/CountsByPairId/?pairId={id}`
|
|
|
|
|
+
|
|
|
|
|
+Per `GET` Request muss die ID des Ereignispaars als Parameter übergeben werden.
|
|
|
|
|
+
|
|
|
|
|
+Ein entsprechender Datensatz sieht wie folgt aus:
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+{
|
|
|
|
|
+ "id": 1700,
|
|
|
|
|
+ "paar": [
|
|
|
|
|
+ { "id": 32, "anzahlStimmen": 1.0 },
|
|
|
|
|
+ { "id": 59, "anzahlStimmen": 0.0 }
|
|
|
|
|
+ ]
|
|
|
|
|
+}
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+3. Abfrage der Anteile falscher und richtiger Antworten über alle Fragen und Benutzer hinweg
|
|
|
|
|
+
|
|
|
|
|
+`/M1_RisikopaareUserData/Proportions`
|
|
|
|
|
+
|
|
|
|
|
+liefert prozentuale Anteile in folgender Struktur:
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+{
|
|
|
|
|
+ "richtig": 0.61931290622098423,
|
|
|
|
|
+ "falsch": 0.38068709377901577
|
|
|
|
|
+}
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+4. Abfrage des Verhältnisses der "Stimmen" für ein spezifisches Ereignispaar
|
|
|
|
|
+
|
|
|
|
|
+`/M1_RisikopaareUserData/ProportionsByPairId/?pairId={id}`
|
|
|
|
|
+
|
|
|
|
|
+5. Abfrage des vollständigen Datensatzes von Benutzerantworten
|
|
|
|
|
+
|
|
|
|
|
+`/M1_RisikopaareUserData/Liste`
|
|
|
|
|
+
|
|
|
|
|
+6. Abfrage einer bestimmten Antwort
|
|
|
|
|
+
|
|
|
|
|
+`/M1_RisikopaareUserData/ByRecordId/{id}`
|
|
|
|
|
+
|
|
|
|
|
+Zurückgegeben wird ein Datensatz, der einer Auswahl eines Benutzers aus einem Ereignispaar entspricht:
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+{
|
|
|
|
|
+ "id": 1,
|
|
|
|
|
+ "userId": 2,
|
|
|
|
|
+ "risikoPaarId": 3,
|
|
|
|
|
+ "correct": true
|
|
|
|
|
+}
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+7. Abfrage aller Einträge eines Benutzers
|
|
|
|
|
+
|
|
|
|
|
+`/M1_RisikopaareUserData/ByUserId?userId={id}`
|
|
|
|
|
+
|
|
|
|
|
+Die `id` des gefragten Benutzers muss als Parameter des `GET` Requests übergeben werden.
|
|
|
|
|
+Zurückgegeben wird eine Liste der entsprechenden Einträge:
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+[
|
|
|
|
|
+ { "id": 1, "userId": 1, "risikoPaarId": 2, "correct": true },
|
|
|
|
|
+ { "id": 2, "userId": 1, "risikoPaarId": 3, "correct": false },
|
|
|
|
|
+ { "id": 3, "userId": 1, "risikoPaarId": 1, "correct": false }
|
|
|
|
|
+]
|
|
|
|
|
+```
|