mnot at mnot
May 29, 2012, 5:03 PM
Post #10 of 10
On 25/05/2012, at 4:53 AM, David Lutterkort wrote:
> At the same time, the patch language requires that clients either track
> changes in this language (difficult if the client's internal
> representation is very different from the JSON representation on the
> wire) or be able to diff an old and new JSON object and generate a
> json-patch object.
> Has anyone looked into making it easier for clients to produce
> json-patch objects ?
I think the common use case is going to be "change the foo property to 3" or "add x to the bar array". At least, that's how I'd see it happening in OpenStack.
If it is, doing so in json-patch is quite simple; you just specify the corresponding arguments (add, replace, etc.). I suppose a little utility library might make it easier (e.g., give it a JSON object and allow manipulating it with add, replace, etc. methods), but that's just some sugar on top.
BTW, whether we use PUT or PATCH, we should be using conditional requests w/ strong validators and 412/428 status codes as necessary.
P.S. Full disclosure: I've recently been asked to take over editing that draft and json-pointer, to push them to completion.
Mark Nottingham http://www.mnot.net/
Mailing list: https://launchpad.net/~openstack
Post to : openstack [at] lists
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp