Hugh Winkler holding forth on computing and the Web

Wednesday, August 08, 2007

We don't need PATCH

John Panzer asks:
....if PUT can be used to send just the part you want to change. This can be made to work but has some major problems that make it a poor general choice.
* A PUT to a resource generally means "replace", not "update", so it's semantically surprising.
* In theory it could break write-through caches. (This is probably equivalent to endangering unicorns.)
* It doesn't work for deleting optional fields or updating flexible lists such as Atom categories.

We could PUT an instance of a new MIME type, atom-update+xml, and the meaning of that document could be: Please selectively update fields of the entry resource, including optional fields and Atom categories.

1 comment:

John Panzer said...

POST would be a better choice in this situation; it means a general update, which this certainly is. And if PATCH is blocked by an intermediary POST is a good second choice.