我创建了一个包含2个表单属性变量的简单模型。
模型有一个起点,在开始时我连接了一个用户任务,并将用户任务连接到终点。 在用户任务中,我添加了2个表单属性,并使用" required"属性:
<extensionElements>
<activiti:formProperty id="SomeID" name="Some ID" type="string" required="true"></activiti:formProperty>
<activiti:formProperty id="SomeName" name="Some Name" type="string" required="true"></activiti:formProperty>
</extensionElements>
我正在向Rest API发送http消息(通过C#)来完成任务。
当我在json正文中发送没有变量的请求时 - &gt;只完成&#34;动作&#34;没关系(得到回复),任务被删除,怎么可能?我不应该得到所需变量不在json体中的错误信息吗?
由于
答案 0 :(得分:0)
问题是只有“Form”API会考虑Form Property required / writable标志。
我想你正在使用以下API:
POST http://localhost:8080/brazos-open/service/runtime/tasks/22557
{ “行动”:“完成”, “变量”:[] }
这将为您提供您遇到的行为。
但是,如果您使用Form API,如下所示:
POST http://localhost:8080/brazos-open/service/form/form-data
{ “taskId”:“22557”, “财产”:[ { “id”:“numberOfDays”, “价值”:2 } ] }
您将收到一条错误消息,指出缺少字段(本例中为startDate)。
请记住,即使在最新版本的Activiti中,开箱即用的表单实现也非常简陋。有更好的选择。
希望这有帮助, 格雷格