I will start building some REST services (bridge between clients and 
CalDAV/Exchange servers) and I was wondering about what to do with services 
versioning, AKA what to do when changes are required in the services that can 
impact older clients. I want to avoid doing such changes, but we all know that 
sometimes, it's a necessity. 

So, after doing a couple of Google search, it look like most people use one of 
those ways to work with versioning of REST services.

- Using a version number in the URLs (aka : /ra/v1/tasks)
- Using the Accept header and use a media type specific to the application 
(vnd.myapp.service-v1, vnd.myapp.service-v2)
- Using a custom HTTP header (X-MYAPP-VERSION: v1)

The last one (custom HTTP header) doesn't seem to be used by a lot of people, 
and for the other twos, it look like it's a culture wars, some says that 
putting API versions in the URL makes it look that it's a different resources, 
others says that using media types is a PITA for nothing.

Any opinions on this? Anyone tried to version their ERRest-backed services? 
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to