Chapter 5. Implementing a Fully-Fledged RESTful Service
In the previous chapter, we exposed our mobile contacts data service via a REST-enabled endpoint for testing purposes. In this chapter, we will use that implementation as a foundation that will evolve into a production-ready service. The first thing to start with is specifying a fixed version of our test implementation; from now on, it will be known as "Version 1". Next, we need to define any new API functionality that will be added in Version 2. This will also include an extension for supporting binary data linked to each contact.
Once deployed on production, the data exposed by our service will grow significantly. Thus, we need to provide it for our consumers in an acceptable way. For that purpose, we will introduce pagination, as well as further filtering capabilities in our API.
Though this contradicts the REST principles, there are cases when caching data responses should be considered as an option. We will look...