Я полагаю, вы хотите получить документ, содержащий конфликт в вашей базе данных, а не 409 Conflict response?
Итак, создайте документ в базе данных с известным _id:
$ curl http://localhost:5984/scratch/foo -X PUT -H "Content-Type: application/json" -d '{}'
{"ok":true,"id":"foo","rev":"1-967a00dff5e02add41819138abb3284d"}
Затем используйте API массовых документов с опцией all_or_nothing: true, чтобы обновить тот же документ преднамеренно неверно или без _rev, добавив некоторые другие атрибуты документа для хорошей меры:
$ curl http://localhost:5984/scratch/_bulk_docs -X POST -H "Content-Type: application/json" -d '{"all_or_nothing": true, "docs": [{"_id": "foo", "abc": 123}]}'
[{"id":"foo","rev":"1-15c813a2b4b312c6915821b01a1986c5"}]
У вас должен возникнуть конфликт в документе:
$ curl http://localhost:5984/scratch/foo?conflicts=true
{"_id":"foo","_rev":"1-967a00dff5e02add41819138abb3284d","_conflicts":["1-15c813a2b4b312c6915821b01a1986c5"]}
Вы также можете выполнить обычный запрос с ?new_edits=false
как , описанный коммиттером CouchDB Рэндаллом Лидсом .
$ curl http://localhost:5984/scratch?new_edits=false -X POST -H "Content-Type: application/json" -d '{"_id": "foo", "abc": 123}'