LeTTo Doc

REST-Schnittstelle des Referenz-Plugins

Controller

Controller Basispfad Erreichbarkeit Endpunkte Zweck
ApiController /open nur im Docker-Netzwerk (http://letto-<endpoint>.nw-letto:8080/open/...) 23 REST-Schnittstelle des Plugins zwischen LeTTo und Plugin (nur aus dem Docker-Netzwerk erreichbar)
ApiExternOpenController /<endpoint>/api/open extern über den Proxy 4 offene Endpoints welche von extern erreichbar sein müssen für ajax und allgemeine Informationen (von extern erreichbar)
ConfigHttpController – extern über den Proxy 1 Liefert den Konfigurationsdialog eines Plugins im Mode CONFIGMODE_URL als HTML-Seite, welche von LeTTo in einem iframe oder Browser-Tab geöffnet wird
HelpController – extern über den Proxy 1 Liefert die Hilfeseite des Plugin-Services mit einer kurzen Beschreibung und Links zur JavaDoc und zur Swagger-Dokumentation
InfoController – teils intern, teils extern (siehe Tabelle) 5 REST-Endpunkte zur Erreichbarkeit, Version und Laufzeitinformation des Plugin-Services

Alle Endpunkte

Methode Pfad Controller Request Response Beschreibung
GET /open/pluginlist ApiController – List<String> Liefert eine Liste aller Plugins (Pluginnamen) , welche mit diesem Service verwaltet werden
GET /open/generalinfolist ApiController – PluginGeneralInfoList Liefert eine Liste aller globalen Informationen über alle Plugins des verwalteten Services
POST /open/generalinfo ApiController String PluginGeneralInfo Liefert die allgemeinen Konfigurationsinformationen zu einem Plugin
POST /open/gethtml ApiController PluginRequestDto String Berechnet den Fragetext für das Fragefeld des Webservers für die angegebenen Parameter für die Verwendung in einem PIT Tag
POST /open/angabe ApiController PluginRequestDto String Liefert einen Angabestring für die Text-Angabe
POST /open/generatedatasets ApiController PluginRequestDto PluginDatasetListDto Liefert alle Datensätze, welche für das Plugin in der Frage vorhanden sein sollten
POST /open/maxima ApiController PluginRequestDto String Liefert einen Maxima-Berechnungsstring für die Berechnung des Plugins
POST /open/image ApiController PluginRequestDto ImageBase64Dto Liefert ein Base64 codiertes Bild mit den angegebenen Parametern
POST /open/imagetemplates ApiController PluginRequestDto Vector<String[]> Liefert eine Liste aller möglichen Varianten von Bildern in String-Arrays
POST /open/parserplugin ApiController PluginParserRequestDto CalcErgebnisDto Wird verwendet wenn im Lösungsfeld die Funktion plugin(“pluginname”,p1,p2,p3) verwendet wird
POST /open/parserplugineinheit ApiController PluginEinheitRequestDto String Bestimmt die Recheneinheit, welche bei der Methode parserPlugin als Ergebnis herauskommt wenn die Parameter die Einheiten wie in der Liste p haben
POST /open/score ApiController PluginScoreRequestDto PluginScoreInfoDto Prüft die Eingabe eines Schülers
POST /open/getvars ApiController PluginRequestDto Vector<String> Liefert eine Liste aller Variablen welche als Dataset benötigt werden
POST /open/modifyangabe ApiController PluginAngabeRequestDto String verändert einen Angabetext, der in der Angabe in PI Tags eingeschlossen wurde Die Funktion wird vor dem Darstellen der Frage ausgeführt
POST /open/modifyangabetextkomplett ApiController PluginAngabeRequestDto String verändert den kompletten Angabetext der Frage
POST /open/updatepluginstringjavascript ApiController PluginUpdateJavascriptRequestDto String Passt die Plugindefinition an die Eingabe aus dem JavaScript-Result an
POST /open/loadplugindto ApiController LoadPluginRequestDto PluginDto Rendern des Plugin-Images, Aufbau eines DTOs zur späteren JavaScript - Bearbeitung
POST /open/renderlatex ApiController PluginRenderLatexRequestDto PluginRenderDto Rendert ein Plugin für den Fragedruck als LaTeX-Quelltext
POST /open/renderpluginresult ApiController PluginRenderResultRequestDto PluginRenderDto Rendert das Plugin inklusive der Schülereingabe und korrekter Lösung Es wird dabei entweder direkt ein HTML-Code oder LaTeX-Code erzeugt
POST /open/configurationinfo ApiController PluginConfigurationInfoRequestDto PluginConfigurationInfoDto Liefert die Informationen welche notwendig sind um einen Konfigurationsdialog zu starten Ist die configurationID gesetzt wird eine Konfiguration gestartet und damit auch die restlichen Endpoints für die Konfiguration aktiviert
POST /open/setconfigurationdata ApiController PluginSetConfigurationDataRequestDto PluginConfigDto Sendet alle notwendigen (im ConfigurationInfo) angeforderten Daten im Mode CONFIGMODE_URL an die Plugin-Konfiguration
POST /open/getconfiguration ApiController PluginConfigurationRequestDto String Liefert die aktuelle Konfiguration eines Plugins welches sich gerade in einem CONFIGMODE_URL Konfigurationsdialog befindet
POST /open/reloadplugindto ApiController LoadPluginRequestDto PluginDto Rendern des Plugin-Images, Aufbau eines DTOs zur späteren JavaScript - Bearbeitung
GET /<endpoint>/api/open/pluginlist ApiExternOpenController – List<String> liefert eine Liste aller Plugins (Pluginnamen) , welche mit diesem Service verwaltet werden
GET /<endpoint>/api/open/generalinfolist ApiExternOpenController – PluginGeneralInfoList liefert eine Liste aller globalen Informationen über alle Plugins des verwalteten Services
POST /<endpoint>/api/open/generalinfo ApiExternOpenController String PluginGeneralInfo liefert die allgemeinen Konfigurationsinformationen zu einem Plugin Body: String - Name des Plugins
POST /<endpoint>/api/open/reloadplugindto ApiExternOpenController LoadPluginRequestDto PluginDto Rendern des Plugin-Images, Aufbau eines DTOs zur späteren JavaScript - Bearbeitung
GET /<endpoint>/open/confighttp ConfigHttpController typ, configurationID String Liefert die HTML-Seite des Konfigurationsdialogs
GET /<endpoint> HelpController – String Liefert die Hilfeseite
GET /ping InfoController – String Bestätigt die Erreichbarkeit des internen Endpunkts
GET /<endpoint>/open/ping InfoController – String Bestätigt die Erreichbarkeit des öffentlichen Endpunkts
GET /info InfoController – ServiceInfoDTO Liefert Informationen über den laufenden Plugin-Service
GET /<endpoint>/open/info InfoController – ServiceInfoDTO Liefert Service-Informationen über den öffentlichen Endpunkt
GET /version InfoController – String Liefert die Version des Plugin-Services

Konfigurationssitzung

Registrierung am Setup-Service (ausgehend)

Methode Pfad am Setup-Service Request Response Authentifizierung
POST /config/auth/user/registerplugin ConfigServiceDto RegisterServiceResultDto Basic Auth (letto.user.user.name / letto.user.user.password)

Siehe Build und Deployment.

Offene Punkte im Code

Referenz-Plugin (Java)