Hi Experts,
The wiki page on Hypermedia / HATEOAS has been updated after processing all the feedback received on the declarative hyperlinking approach and related topics.
After going through all the e-mail threads, I now believe it would be useful to divide the hyperlinking problem into two parts: structural links and transitional links (I came up with these terms, feel free to dislike them :). See [1] for a discussion.
It appears that supporting transitional links is easier, and a simple, non-declarative (annotation free) approach is described in [1]. Note that transitional links are handled completely at the resource (controller) level and are conveyed as Link Headers (my personal preference). Support in the Client API is also straightforward (and similar to Restfulie).
Structural links are more complex to support given their interaction with other parts of the system (readers, writers, JAXB, etc), and given their impact on the model. A declarative, annotation-based approach may be the way to go, but there are a number of issues that need to be sorted out.
In summary, [1] is an incomplete story, but wanted to direct your attention to the new content to help us drive future discussions.
-- Santiago
[1]
http://java.net/projects/jax-rs-spec/pages/Hypermedia