2013-05-25 24 views
1

是否有一些超級祕密漂亮的標誌與PUT一起使用與CouchDb結合使用,以便最終409(衝突)將在響應中包含當前_rev?無論是在身體還是頭部?CouchDb - 得到當前_rev 409

回答

0

這是不可能的。您可以做的最好的事情是在get之前獲得帶有ETag頭部的請求。如果版本仍然最新,則會返回304 Not Modified狀態。如果它已被修改,您將獲得新版本。但是,無論哪種情況,而不是都保證您在後續的PUT上不會得到409 Conflict,因爲此時文檔可能已被修改。

+0

那麼,做另一個'GET'並不「感覺」是正確的,因爲它(如你所說)可能不能保證任何東西,並且我已經做了一個GET來獲取文檔。當然,我可以添加邏輯看時間戳,看看它是否值得再做一次。不,我認爲在這種情況下讓它變成409更爲正確。但是,謝謝。 – Daniel

+0

順便說一句,即使409響應提供了最新的_rev,但仍不能保證下一個帶有_rev的PUT請求不會再創建另一個409 ... –

+0

不,但它至少可以讓我免於做HEAD或GET獲取最新的已知_rev。 – Daniel