2016-05-12 83 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

相關問題