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 に答える