adlnet / xAPI-Spec

The xAPI Specification describes communication about learner activity and experiences between technologies.
https://adlnet.gov/projects/xapi/
901 stars 405 forks source link

Need Clarity on PUT for Document Resources #1015

Open oconnetf opened 7 years ago

oconnetf commented 7 years ago

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.

garemoko commented 7 years ago

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