根据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"
}
我错过了什么或者它是一个错误?有没有其他方法可以创建文档来同步网关?
答案 0 :(得分:0)
文档中有错误。
根据文件,
您可以通过在请求邮件正文中包含_id对象来指定文档ID,也可以让软件生成ID。
但Couchbase REST API似乎没有那样工作(可能他们没有定期更新他们的文档)。您需要在网址中提供/{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"
}