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]
