[
https://issues.apache.org/jira/browse/COUCHDB-1268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13095237#comment-13095237
]
gert cuykens commented on COUCHDB-1268:
---------------------------------------
Thanks, if-match works. This is by far the most logic way for me, no _id and no
_rev. Pleas consider development in this direction that _id and _rev should
always be header material. In futon both should also not be represented in the
fields but in the bottom bar menu between previous an next version for example.
Id is already represented in the top menu.
curl -X PUT http://localhost:5984/_users/user%3Agert88888 -H 'If-Match: 5xxx'
-H 'Content-Type: application/json' -d '{
"type" : "user",
"name" : "gert",
"roles" : [],
"password_sha" : "...",
"salt" : "..."
}'
> "?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
> Labels: api-change
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> 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