* Trevor Leffler <tleff...@uw.edu> [2011-04-06 18:50]:
> Hi, I've also seen the use of HTTP request headers for
> specifying service API minor versions (and other bits).  In
> particular, EBay comes to mind; they use v1, v2 in the
> end-point plus an X-EBAY-SOA-SERVICE-VERSION header.
>
> http://developer.ebay.com/DevZone/finding/Concepts/MakingACall.html#callstruct

This is a very bad idea. No matter what problem you have,
a custom HTTP header is very nearly certainly the wrong solution.
For API versioning it definitely is.

Putting the version in the URI is the right approach – if in fact
you even need an explicit version. (You can always switch to
a different URI space no matter whether you made a provision for
it using a version number in the URI or not.)

Of course eBay didn’t have a lot of options, being that their API
is SOAP-centric (even though they now support non-SOAP options).
So don’t make their mistake: don’t use SOAP. If you inescapably
have to support it as an option, then at least don’t design your
API from its point of view.

Regards,
-- 
Aristotle Pagaltzis // <http://plasmasturm.org/>

_______________________________________________
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/

Reply via email to