通过Rest工作时,必填字段不起作用

时间:2015-12-07 09:19:51

标签: activiti

我创建了一个包含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体中的错误信息吗?

由于

1 个答案:

答案 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中,开箱即用的表单实现也非常简陋。有更好的选择。

希望这有帮助, 格雷格