The negotiating of the version of the representation is really more like representation negotiation—in other words, it is a function of the headers. Indicating versioning through query parameters also gets around my identification concerns, but I feel it’s an abuse of query parameters and it creates a risk of query parameter conflict. First, I believe the role of query parameters in a RESTful API are to constrain a search or a “directory” listing. They should not be used to convey other kinds of information. Second, when you pick the name of your version query parameter, you must be certain
...more