Chapter 11. Miscellaneous Writes

This chapter addresses some problems that are often seen as challenging or outside the realm of REST’s uniform interface constraint. Use cases for recipes in this chapter involve operations such as making copies, taking snapshots, moving and merging, processing batch requests, and supporting transactions. Although such use cases may not be common in every RESTful web service, this chapter shows how to combine HTTP’s uniform interface with resources and links to address such problems.

The key principle used in this chapter is to always think in terms of application use cases and not generalize the problem or the solution any further than necessary. For instance, a use case may involve changing the category of an album. In the server’s implementation, such a change may require changing the URI of the album. You may generalize this problem into that of moving a resource from one location to another. Since there is no such method as MOVE in HTTP, you may conclude that this problem is beyond the scope of HTTP. However, a problem like changing the category could easily be addressed by using Recipe 11.3 without needing to extend HTTP. The same goes for other problems such as batch processing, copying, and even transactions. Here is the list of recipes discussed in this chapter:

Recipe 11.1

Use this recipe to learn how to make a copy of a resource.

Recipe 11.2

Use this recipe to learn how to merge two or more resources.

Recipe 11.3

Use this recipe to learn ...

Get RESTful Web Services Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.