Need Clarity on PUT for Document Resources
Per some internal discussion after a conformance-related call with ADL, it seems the spec might benefit from some additional material related to PUT.
PUT is intended to be allowed for document resources, and it should either create or overwrite the resource, subject to concurrency rules. However, aside from some mentions in passing, it’s not at all clear that is what it does, and it’s not even that clear it’s allowed, and certainly not clear that it’s not subject to the same restrictions the “merge” behavior of the POST is.
Agree it could be clearer although I wonder if we can assume that PUT is a relatively standard thing. (It's POST that's special)
The functionality of replacing the whole document rather than merging is strongly implied here: "...use a PUT request to replace the whole document as described below."
The functionality of using PUT to store is implied by the order of "Stores, changes, fetches, or deletes the document" matching "PUT | POST | GET | DELETE".