2016-05-12 81 views
1

我正在创建一个Spring-Java应用程序,我将Nuxeo用作文件存储。Nuxeo使用REST的新版本创建和更新文件

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

我已经尝试了谷歌和nuxeo文档的许多解决方案,但它会每次创建新文档。因为我只想更新文件版本。

我已使用以下服务更新文件,但它不更新版本。 /nuxeo/site/api/v1/id/{idOfTheDoc}

此外,我在创建文件时使用了Below Below服务,但它每次都会创建新的文档。 /Nuxeo的/网站/ API/V1/ID/{idOfParentDoc}

感谢您的帮助

回答

0

当更新你应该使用特定的头 “ X-版本控制选项:MAJOR” 的文件中指出REST API文档

1

其实有考虑有两点:

  1. 如果你最终创造出一个文件,而不是更新它,这意味着你使用的是POST方法。您应该使用PUT方法代替更新。

  2. 正如@ user3885965提到的,来创建你需要发送一个报头X-Versioning-Option一个版本,但是值可以是minor(创建一个次要版本,如1.x中,其中x将递增)或major(创建一个主要版本,如x.0,其中x将递增)。它们之间没有功能上的区别,它只是在那里让你选择你想要增加的数字。

2

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

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

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

HIH