In this post, we look into how to implement a simple REST API with the resource state transitions described as a hypermedia links, a concept referred to as HATEOAS (Hypermedia as the Engine of Application State). We'll use Java for this task and some frameworks with which we have some experience— Spring MVC, Jersey and VRaptor. The idea is to see if how well they support HATEOAS concepts or make your life harder at building up a good REST API.

To make the comparison fair and easy, we built a sample application to put HATEOAS concepts in practice and see if those 3 frameworks can help us to do it. The application is simple and is not intended to be fully production-ready, as we decided not to build a full REST API with a CRUD and actions that change states, which is something we all know can be done. What we want to know is do these frameworks help us to expose resources in order to build a HATEOAS-like API?

The short answer is YES, all three have their benefits. For the complete article, check it out on RebelLabs: