Orbeon - 持久性API是否不支持POST来创建表单数据?

时间:2015-06-03 22:45:22

标签: orbeon

persistence API documentation说:

  

当使用GET,PUT和DELETE来处理资源时,HTTP请求的主体只包含要处理的资源。

这似乎表明POST不是受支持的操作。该文档仅提及GET,PUT和DELETE。

我在别处读过(我不记得在哪里)可以POST到:

http://[SERVER]/orbeon/fr/[APP_NAME]/[FORM_NAME]/new

我测试了这个并且它可以工作,但这不是使用REST API。它返回一个页面,供用户开始编辑表单数据。这不是我真正想要的。我原以为能够做一个POST

http://[SERVER]/orbeon/fr/service/persistence/crud/[APP_NAME]/[FORM_NAME]/data/

并且新创建的表单数据(包括其文档ID)的位置将在响应的Location标头中返回。但是执行POST会返回500错误。堆栈跟踪似乎表明某种验证异常。这不受支持吗?

1 个答案:

答案 0 :(得分:1)

正确,持久性API不支持POST,但你can POST to the /new page,这是两个非常不同的东西。

因此,如果您想直接调用持久性API,并且想要创建一个新文档,则需要选择"选择"文档ID。您可以使用相同的代码Form Runner调用{{1}},在SecureUtils.scala中实现。