← Back to team overview

openstack team mailing list archive

Re: OpenStack API Versioning Conventions

 

That is one case that would require a major version change where a URI is still valid. However, changes to the URI are still allowed across major versions. That causes me to think content-types are not good enough to handle versioning.

On Oct 11, 2011, at 11:21 AM, Kiall Mac Innes wrote:

> 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
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
> This email may include confidential information. If you received it in error, please delete it.



--------------------------------------
Brian Waldon
Cloud Software Developer
Rackspace Hosting



Follow ups

References