Couchbase创建文档失败,通过sync-gateway公共休息API

时间:2016-08-11 13:12:28

标签: rest couchbase couchbase-sync-gateway

根据Couchbase Sync-Gateway REST API文档here,下面提到的cURL应该在指定的数据库中创建一个文档。

以下是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添加到请求正文中。

但是当我通过Postman发送put请求时,它尝试创建一个新数据库并且JSON响应是

,而不是创建一个新文档。
{
 "error": "Precondition Failed",
 "reason": "Database already exists"
}

我错过了什么或者它是一个错误?有没有其他方法可以创建文档来同步网关?

1 个答案:

答案 0 :(得分:0)

文档中有错误。

根据文件,

  

您可以通过在请求邮件正文中包含_id对象来指定文档ID,也可以让软件生成ID。

但Couchbase REST API似乎没有那样工作(可能他们没有定期更新他们的文档)。您需要在网址中提供/{db}/{id}

中的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"
}