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错误。堆栈跟踪似乎表明某种验证异常。这不受支持吗?
答案 0 :(得分:1)
正确,持久性API不支持POST,但你can POST to the /new page,这是两个非常不同的东西。
因此,如果您想直接调用持久性API,并且想要创建一个新文档,则需要选择"选择"文档ID。您可以使用相同的代码Form Runner调用{{1}},在SecureUtils.scala
中实现。