通过 Rest 将日期变量添加到 Camunda-BPMN

Add Date-Variable to Camunda-BPMN via Rest

我有一个 camunda bpmn 工作流,其中启动事件需要一些变量。 所需变量之一的类型为 'date':

{
  "variables": {
    "stichtagFrist": {
      "value": "2021-09-08T00:00:00",
      "type": "date"
    }
  }
}

现在尝试添加具有上述 json 的新实例,但出现以下异常:

Cannot instantiate process definition d1f43d8e-211f-11ec-8fdf-0242ac110002: Cannot convert value '2021-09-08T00:00:00' of type 'date' to java type java.util.Date"

我如何需要 POST Camunda 可以将其解释为“日期”的 json 以便我可以使用此变量,例如在计时器事件等中?

布尔值也有规则吗?

来自documentation

In the REST API, the type names start with a capital letter, i.e., String instead of string.

尝试使用“日期”而不是“日期”,这样应该可以解决问题。

https://github.com/camunda/camunda-bpm-platform/blob/7c5bf37307d3eeac3aee5724b6e4669a9992eaba/engine-rest/engine-rest/src/main/java/org/camunda/bpm/engine/rest/dto/VariableValueDto.java#L109

使用 Jackson ObjectMapper 来解析值。它需要这种格式:

{
  "variables": {
    "stichtagFrist": {
      "value": "2021-09-08T00:00:00.0+0000",
      "type": "date"
    }
  }
}