1

根据下面提到的 Couchbase Sync-Gateway REST API 文档 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"
}

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

4

1 回答 1

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"
}
于 2016-08-12T07:32:36.477 回答