Search code examples
javadelegatescamunda

Camunda send list as process variable when start process


I have some process in my Springboot application and wanna start it via rest.

http://localhost:8080/rest/process-definition/Kvorum:2:c10196c1-1935-11eb-b60d-7a7bf841afbd/start

with body:

{
    "variables": {
        "list": {
            "value": "[\"1\",\"2\"]",
            "type": "String"
        }
    },
    "businessKey": "myBusinessKey",
    "withVariablesInReturn": true
}

What do I need to write here:

"list": {
    "value": "[\"1\",\"2\"]",
    "type": "Object"
}

to receive List instead of String and use it in JavaDelegate with code like:

List<String> list = (List) execution.getVariable("list");

Solution

  •     "list": {
            "value": "[\"1\",\"2\"]",
            "type": "Object",
            "valueInfo" : {"objectTypeName": "java.util.ArrayList", "serializationDataFormat":"application/json"}
        }