小编Pra*_*gat的帖子

在camunda进程的进程变量中传递json

我正在尝试将变量中的 json 有效负载作为值传递以使用 engine-rest api 启动流程定义,如下所示:-

应用程序接口:

http://localhost:8080/engine-rest/process-definition/processService:1:9459dbe9-6b2c-11e8-b9e8-28d2447c697a/start

身体 :

{
  "variables": {
      "payload": {
        "value": {
            "mode": "email",
            "meta": [{
                "key": "topic",
                "value": "weather"
            }, {
                "key": "qos",
                "value": "2"
            }]
        },
        "type": "Json"
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

但它给出了 400 BAD REQUEST,错误如下:- 必须为 SerializableValue 类型“Json”的值提供“null”或字符串值。

此外,我在 BPMN 流程中使用了一个表达式来获取如下所示的键值对,它也引发了我的错误:-

${S(payload).prop("mode").stringValue() == 'email'}

现在的工作步骤:- 当我尝试以字符串格式发送正文 json 有效负载时,它工作正常。

应用程序接口:

http://localhost:8080/engine-rest/process-definition/processService:1:9459dbe9-6b2c-11e8-b9e8-28d2447c697a/start

身体:

{
  "variables": {
      "payload": {
        "value": "{\"mode\": \"email\",\"meta\": [{\"key\": \"topic\",\"value\": \"weather\"},{\"key\": \"qos\",\"value\": \"2\"}]}",
        "type": "String"
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

我在这里使用相同的 Java 代码来获取 json …

javascript java json camunda camunda-modeler

5
推荐指数
1
解决办法
5598
查看次数

标签 统计

camunda ×1

camunda-modeler ×1

java ×1

javascript ×1

json ×1