"?rev=" URL query parameter
---------------------------
Key: COUCHDB-1268
URL: https://issues.apache.org/jira/browse/COUCHDB-1268
Project: CouchDB
Issue Type: Improvement
Components: Database Core
Affects Versions: 1.2
Environment: linux
Reporter: gert cuykens
Priority: Trivial
When PUTting a document you have to specify the current revision as a _rev key
in the JSON; whereas many related requests (like DELETE, COPY and PUT of an
attachment) specify the revision in a "?rev=" URL query parameter instead. The
first example, will result into a document conflict because rev is not
specified in the JSON and the rev from the url gets ignored. All other examples
work. I strongly believe JSON bodies like this should never contain _id and
_rev and will improve in much better client code.
curl -X PUT http://localhost:5984/_users/user%3Agert?rev=5xxx -H
'Content-Type: application/json' -d{
"_id" : "user:gert",
"type" : "user",
"name" : "gert",
"roles" : [],
"password_sha" : "",
"salt" : ""
}'
curl -X PUT http://localhost:5984/_users/user%3Agert -H 'Content-Type:
application/json' -d{
"_id" : "user:gert",
"_rev":"5xxx",
"type" : "user",
"name" : "gert",
"roles" : [],
"password_sha" : "",
"salt" : ""
}'
curl -X PUT http://localhost:5984/_users/user%3Agert/picture?rev=5xxx
-H 'Content-Type: image/png' -d @picture.png
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira