WHAT'S IN THIS CHAPTER?
What REST is and what it does
The six constraints of REST
The Richardson Maturity Model of a REST API
How to design a RESTful API
Demonstrating REST in Action
How to implement REST in a Java EE
HATEOAS—The highest level in the Richardson Maturity Model
WROX.COM CODE DOWNLOADS FOR THIS CHAPTER
The wrox.com code download for this chapter is found at www.wrox.com/go/
download and individually named according to the names throughout the chapter.
There is little doubt that you will have heard the term REST. What is less certain is that you
will understand exactly what it means and how it is implemented. Many people who know
nothing or very little about REST will tell you that your site must be REST “compatible” and
that, without REST, your site cannot possibly survive. REST is a buzzword to these people,
but for those who know what REST is and what benei ts it can offer, it's much more than just
another buzzword. So what does REST really mean, and where does it come from?
REST means REpresentational State Transfer and is an architectural style of representing and
transferring data. It consists of a set of six constraints placed on data, components, and their
interactions within a distributed hypermedia system (the Internet). It is not tied to a protocol
(although in almost all cases it is used with Hypertext Transfer Protocol [HTTP]), and it does