openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #04684
Re: OpenStack API Versioning Conventions
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 <soren@xxxxxxxxxxx> wrote:
> 2011/10/11 George Reese <george.reese@xxxxxxxxxxxxx>:
> > 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@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References