"?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

        

Reply via email to