Chapter 3. JSON Hypermedia

I have the world’s largest collection of seashells. I keep it on all the beaches of the world; perhaps you’ve seen it.

- Stephen Wright

The second example chapter explores the challenges and advantages of using JSON as a base for designing a hypermedia type. The scenario includes requirements for basic read/write semantics for managing simple lists (friends, tasks, blog entries, etc.). This scenario relies on generic design that supports the ability to create customized implementations that reflect specific application domains not considered during the initial design. After designing the type and documenting the application domain, a sample server is built using test data and two clients are to be implemented: one that employs a single-page interface (SPI) model for HTML browsers and one that offers a quick command-line interface built using only Node.js.

Scenario

Unlike the Maze+XML media type, which was designed to support a very specific scenario, this example needs to support a range of similar implementations, that of managing lists such as contacts, tasks, bookmarks, blog entries, comments, etc. Also, unlike the last example, this one requires support for full read/write access to the data. The hypermedia design should contain enough application control information to allow clients to know how (and when) to add, edit, and delete data from the list. Finally, users should be able to discover and execute predefined queries to filter the server responses. ...

Get Building Hypermedia APIs with HTML5 and Node 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.