POST /open/score
| Controller | ApiController |
| Java-Methode | score |
| HTTP-Methode | POST |
| Pfad | /open/score |
| Erreichbarkeit | nur im Docker-Netzwerk |
| Request-Body | PluginScoreRequestDto |
| Response | PluginScoreInfoDto |
Beschreibung
Prüft die Eingabe eines Schülers
Request
Body: PluginScoreRequestDto
| Feld | Typ | ausgewertet | Bedeutung |
|---|---|---|---|
typ |
String | ja | Typ des Plugins |
name |
String | ja | Name des Plugins in der Frage |
config |
String | ja | Konfigurationsstring des Plugins |
pluginDto |
PluginDto | ja | PluginDto welches für die JavaScript aktive Eingabe aufbereitet wurde |
antwort |
String | ja | Antwort die der Schüler eingegeben hat |
toleranz |
ToleranzDto | ja | Toleranz für die Lösung |
varsQuestion |
VarHashDto | ja | VarHash aller Variablen der Frage |
answerDto |
PluginAnswerDto | ja | korrekte Antwort und Informationen für den Scorer des Plugins |
grade |
double | ja | Maximale Punktanzahl für die richtige Antwort |
Response
Typ: PluginScoreInfoDto
PluginScoreInfoDto: Bewertung
Ablauf im Service
- Erzeugt über
PluginConfiguration.createPluginService(typ, name, config)eine neue Plugin-Instanz und ruft auf:score.
Fehlerfälle
- 404 Not Found, wenn der Plugin-Typ nicht registriert ist oder das Plugin nicht erzeugt werden kann („Plugin vom Typ … kann nicht erzeugt werden”).
Beispiel-Request
JSON-Gerüst aus den Feldern des DTOs, Werte sind Platzhalter:
{
"typ": "<typ>",
"name": "<name>",
"config": "<config>",
"pluginDto": {
"…": "PluginDto"
},
"antwort": "<antwort>",
"toleranz": {
"…": "ToleranzDto"
},
"varsQuestion": {
"…": "VarHashDto"
},
"answerDto": {
"…": "PluginAnswerDto"
},
"grade": 0
}
Siehe auch
POST /open/loadplugindto– Rendern des Plugin-Images, Aufbau eines DTOs zur späteren JavaScript - BearbeitungPOST /open/renderpluginresult– Rendert das Plugin inklusive der Schülereingabe und korrekter Lösung Es wird dabei entweder direkt ein HTML-Code oder LaTeX-Code erzeugt