Skip to Content
REST API Design Rulebook
book

REST API Design Rulebook

by Mark Masse
October 2011
Intermediate to advanced
112 pages
2h 39m
English
O'Reilly Media, Inc.
Content preview from REST API Design Rulebook

Chapter 6. Client Concerns

Introduction

Any computer program can be a REST API’s client, but some examples include scripts loaded in web pages, handheld games, and business-critical applications running on server farms. REST APIs are designed to suit the needs of their client programs, whatever those needs may be.

This chapter provides a set of REST API design principles to address common client concerns. It concludes with a few rules to address the special needs of browser-based JavaScript clients.

Versioning

A REST API is composed of an assembly of interlinked resources: its resource model. The version of each resource is conveyed through its representational form and state.

Rule: New URIs should be used to introduce new concepts

A resource is a semantic model, like a thought about a thing. A resource’s representational form and state may change over time but the identifier must consistently address the same thought, which no other URI can identify. Furthermore, every character in a resource’s URI contributes to its identity. Therefore the version of a REST API, or any of its resources, typically should not be signified in a URI. For example, including a version indicator, like v2, in a URI conveys that the concept itself has multiple versions, which is usually not the intent.

A URI identifies a resource, independent of the version of its representational form and state. REST APIs should maintain a consistent mapping of its URIs to its conceptually constant resources. A REST API should ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Understanding APIs and RESTful APIs Crash Course

Understanding APIs and RESTful APIs Crash Course

Kalob Taulien
Mastering API Architecture

Mastering API Architecture

James Gough, Daniel Bryant, Matthew Auburn
RESTful Web APIs

RESTful Web APIs

Leonard Richardson, Mike Amundsen, Sam Ruby
Designing Web APIs

Designing Web APIs

Brenda Jin, Saurabh Sahni, Amir Shevat

Publisher Resources

ISBN: 9781449317904Errata Page