Powerful web-based REST and hypermedia-style APIs are becoming more common every day, but instead of applying the same techniques and patterns to hypermedia clients, many developers rely on custom client code. With this practical guide, you’ll learn how to move from one-off implementations to general-purpose client apps that are stable, flexible, and reusable.
Author Mike Amundsen provides extensive background, easy-to-follow examples, illustrative dialogues, and clear recommendations for building effective hypermedia-based client applications. Along the way, you’ll learn how to harness many of the basic principles that underpin the Web.
Convert HTML-only web apps into a JSON API service
Overcome the challenges of maintaining plain JSON-style client apps
Decouple the output format from the internal object model with the representor pattern
Explore client apps built with HAL—Hypertext Application Language
Tackle reusable clients with the Request, Parse, Wait Loop (RPW) pattern
Learn the pros and cons of building client apps with the Siren content type
Deal with API versioning by adopting a change-over-time aesthetic
Compare how JSON, HAL, Siren, and Collection+JSON clients handle the Objects/Addresses/Actions Challenge
Craft a single client application that can consume multiple services