/
CoreService (/core)

CoreService (/core)

Über den CoreService können Serverjobs aufgerufen werden, die keine semantische Zugehörigkeit zu einem Fachgebiet haben.

/osrest/api/core/emptyJob

  • Unterstützte Anfragemethoden: POST

  • Unterstützte Ergebnisformate: JSON

  • Ab enaio® 9.00 SP1 mit AppConnector 1.5.80

Die Methode nimmt beliebig viele Parameter wahlweise als Key-Value-Map oder Key-Map-Map entgegen und liefert als Ergebnis ebenfalls eine Key-Value-Map mit den Server-Antwortparametern zurück. Mit Key-Map-Map ist als Value eine inner Map<String, Object> gemeint.

Über diese Eingabestruktur kann, wenn dies notwendig ist, der Datentyp des Eingabeparameters genau spezifiziert werden während dies bei Key-Value-Map automatisch durch den AppConnector erfolgt. Am enaio®-Server ruft diese Methode den krn.EmptyJob auf. Gemäß Server-API macht diese Serverjob von Hause aus nichts. Ein Skripter kann jedoch Server Events erstellen, die vor und nach diesem Serverjob aufgerufen werden. Diese Serverskripte sind hierbei auch der Grund für den Job. Als Skripter können Sie beliebige Serverskripte erstellen und diese dann über die Methode des AppConnectors mit beliebigen Parametern aufrufen.

Im nachfolgenden Beispiel ermittelt der AppConnector automatisch den jeweiligen Datentyp:

{ "myInteger": 35, "myDouble": 35.123, "myString": "Hallo Empty Job", "myBool": true  }

Im nachfolgenden Beispiel wird der Datentyp explizit festgelegt. Dabei kann als Typangabe wahlweise ein numerischer Wert von 1 bis 6 mit Ausnahme von 5 oder eine Stringkonstante verwendet werden. Die numerischen Werte entsprechen der Server-API. Die explizite Typisierung ist z. B. bei BASE64 brauchbar, um im Serverskript keine Konvertierung vornehmen zu müssen.

  • 1 ↔ STRING

  • 2 ↔ INTEGER

  • 3 ↔ BOOL

  • 4 ↔ DOUBLE

  • 6 ↔ BASE64

{ "typedString": { "type": "STRING", "value": "test" }, "typedInteger": { "type": "INT", "value": 123 }, "typedBoolean": { "type": "BOOL", "value": true }, "typedDouble": { "type": "DOUBLE", "value": 14.27 }, "typedBase64": { "type": "BASE64", "value": "PHJvb3Q+PC9yb290Pg0K" }, "iTypedString": { "type": 1, "value": "test" }, "iTypedInteger": { "type": 2, "value": 123 }, "iTypedBoolean": { "type": 3, "value": true }, "iTypedDouble": { "type": 4, "value": 14.27 }, "iTypedBase64": { "type": 6, "value": "PHJvb3Q+PC9yb290Pg0K" }  }

Die beiden Eingabeformate können auch gemischt werden:

{ "myInteger": 35, "iTypedBase64": { "type": 6, "value": "PHJvb3Q+PC9yb290Pg0K" }, "iTypedBase64": { "type": "BASE64", "value": "PHJvb3Q+PC9yb290Pg0K" } }

 

Related content