2

CouchDB データベースを構築し、ドキュメントを追加する次の PUT リクエストを検討してください。

curl -X PUT http://localhost:5984/mydb

応答: {"ok":true}

curl -X PUT http://localhost:5984/mydb/mydoc -d '{"name":"John", "email":"john@example.com"}'

応答: {"ok":true,"id":"mydoc","re​​v":"1-8c497db1c5b38cb65981a2c83b349d83"}

よし、書類ができた。今、この文書を削除したいと思います。私は試します:

curl -X DELETE http://localhost:5984/mydb/mydoc -d '{"_rev":"1-8c497db1c5b38cb65981a2c83b349d83}'

応答: {"error":"conflict","re​​ason":"Document update conflict."}

うーん。なぜそれがうまくいかないのかわからないので、これを試します:

curl -X DELETE http://localhost:5984/mydb/mydoc?rev=1-8c497db1c5b38cb65981a2c83b349d83

応答: {"ok":true,"id":"mydoc","re​​v":"2-e8b8b0632384aae62338c57e1826ea81"}

それは機能します...しかし、なぜですか?最初の何が問題なのですか?どんな助けでも大歓迎です。

4

1 に答える 1

1

DELETEGETリクエストはセマンティクスを共有し、メッセージ本文は無視されるため、クエリ パラメータを使用してリビジョン トークンをリクエストに渡す必要があります。

于 2013-02-04T02:06:43.760 に答える