How to version REST URIs
clean-urls, rest, versioning
Solution
I would say making it part of the URI itself (option 1) is best because v4 identifies a different resource than v3. Query parameters like in your second option can be best used to pass-in additional (query) info related to the request, rather than the resource.
Problem
What is the best way to version REST URIs? Currently we have a version # in the URI itself, ie. ``` http://example.com/users/v4/1234/ ``` for version 4 of this representation. Does the version belong in the queryString? ie. ``` http://example.com/users/1234?version=4 ``` Or is versioning best accomplished another way?