2016-08-11 53 views
1

根據Couchbase Sync-Gateway REST API文檔here下面提到的cURL應該在指定的數據庫中創建一個文檔。Couchbase創建文檔失敗,通過sync-gateway public rest API

以下是Postman生成的cURL。

curl -X PUT -H "Cache-Control: no-cache" -H "Postman-Token: 498d0fb6-77ac-9335-2379-14258c6731c7" -d '' "http://192.168.244.174:4984/db/" 

我也嘗試添加JSON到請求的主體。

但是當我通過郵差派,而不是創建一個新的文件PUT請求,它試圖創建一個新的數據庫和JSON響應

{ 
"error": "Precondition Failed", 
"reason": "Database already exists" 
} 

我缺少的東西,或者是一個錯誤嗎?是否有任何其他方式來創建文檔同步網關?

回答

0

文檔中存在錯誤。

作爲每文檔,

您可以通過包括在請求消息主體中的_id對象指定的文檔ID,或讓軟件生成的ID。

但是Couchbase REST API似乎沒有像那樣工作(可能是因爲他們沒有定期更新他們的文檔)。您需要在URL中提供該ID,如/{db}/{id}

以下cURL爲我工作。

curl -X PUT -H "Content-Type: application/json" -H "Cache-Control: no-cache" -H "Postman-Token: 75ab844e-5130-708e-69e9-e87f878108b4" -d '{"name": "xxx", "full_name": "xxx yyy"}' "http://192.168.244.174:4984/db/123"

JSON響應是

{ 
    "id": "123", 
    "ok": true, 
    "rev": "1-9324dabc947fc963a754b113d1215ac3" 
}