Nuxeo使用REST创建和更新新版本的文件

时间:2016-05-12 08:54:44

标签: java api rest version nuxeo

我正在创建一个Spring-Java应用程序,我将Nuxeo用作文件存储。

我想使用rest api在nuxeo中使用新版本在文档中创建一个新文件。 例如,我创建了一个名为" file1.docx"的文件。现在在myworkspace中。 我想在同一文件中用新版本更新文件。我想使用任何其他api可用于此操作。

我尝试过google和nuxeo docs的许多解决方案,但每次都会创建新文档。因为我只想更新文件版本。

我已使用以下服务更新文件,但它没有更新版本。 / Nuxeo的/站点/ API / V1 / ID / {idOfTheDoc}

另外,我已经使用了以下服务来创建文件,但它每次都会创建新的文档。 / Nuxeo的/站点/ API / V1 / ID / {idOfParentDoc}

感谢您的帮助

3 个答案:

答案 0 :(得分:2)

阐明如何使用最新版本的JavaScript客户端进行操作。这是一个小的JSFiddle,它上传一个新的blob并在现有文档上增加次要版本。 确保您已在服务器上正确配置CORS,并设置正确的文档路径。

http://jsfiddle.net/arnaudke/he1murjL/7/

doc.set({'file:content': res.blob})
   .save({
     headers: {'X-Versioning-Option': 'minor'}
   });

HIH

答案 1 :(得分:1)

实际上有两件事需要考虑:

  1. 如果您最终创建文档而不是更新文档,则表示您使用的是<input type="text" name="searchval" value="<?php echo $search; ?>" onkeyup="searchmerchant()" > 方法。您应该使用POST方法进行更新。

  2. 如@ user3885965所述,要创建版本,您需要发送PUT标头,但值可以是X-Versioning-Option(创建次要版本,例如1.x x将递增)或minor(创建一个主要版本,例如x.0,其中x将递增)。它们之间没有功能差异,它只是为您选择您想要增加的数字。

答案 2 :(得分:0)

更新文档时,您应该使用特定标题&#34; X-Versioning-Option:MAJOR&#34;如REST API文档中所述