Pretending we are talking about "User" resource for me, "kiall" for moment.
The v1 API might represent the kiall user resource as {"name":"kiall"} while the v2 API might represent the kiall user resource as {"USERname":"kiall"}. The kiall resource has not changed, only the API representation. Hence, a single URL using headers to determine the resource representation (json_v1, json_v2, yaml_v1, yaml_v2 etc) is correct IMHO. Some more info on the general idea: http://barelyenough.org/blog/2008/05/versioning-rest-web-services/ Thanks, Kiall On Tue, Oct 11, 2011 at 3:11 PM, Soren Hansen <so...@linux2go.dk> wrote: > 2011/10/11 George Reese <george.re...@enstratus.com>: > > Versioning should not be included in the URI. It belongs in the headers. > A URI should be a persistent reference to a resource. As such, versioning > always breaks that persistent reference. > > I don't follow. If the version is included in the URI, that's got to > be a more persistent reference to a resource than a URI whose > behaviour differs depending on a header that you have to include? > > -- > Soren Hansen | http://linux2go.dk/ > Ubuntu Developer | http://www.ubuntu.com/ > OpenStack Developer | http://www.openstack.org/ > > _______________________________________________ > Mailing list: https://launchpad.net/~openstack > Post to : openstack@lists.launchpad.net > Unsubscribe : https://launchpad.net/~openstack > More help : https://help.launchpad.net/ListHelp >
_______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp