[aerogear-dev] REST-based API Versioning

Matthias Wessendorf matzew at apache.org
Thu Aug 28 01:50:52 EDT 2014


Hello,

for the 1.1.x (master) we are potentially doing some changes on the
Sender-API (see [1]).

However, for backwards compatibility we need to think about API versioning.

For REST APIs there are (IMO) two options:
* accept header
* URIs

On our Face2Face meeting we briefly talked about this and I think the
"accept header" solution was the one that had most fans. I think QMX added
that it is better for migration. One thing we were not clear on (I think):
What are HATEOS defined semantics?


Besides the what (headers vs. URI), I think we should think about possible
implementations, to switch different versions.

Not sure, but wouldn't it be possible to inject an annotated SenderService
into the RESTful endpoint, based on header values ?
We could have a default impl (version 1.0.0) and an alternate one, that is
injected if the accept header indicate API version 1.1

Any thoughts ?

-Matthias


[1] http://lists.jboss.org/pipermail/aerogear-dev/2014-August/008881.html

-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20140828/f0484b5c/attachment.html 


More information about the aerogear-dev mailing list