Modern software systems are composed of many servers, services, and other components that communicate through APIs. As a developer, your job is to make sure these APIs are stable, reliable, and easy to use for other developers. API Design Patterns provides you with a unique catalog of design standards and best practices to ensure your APIs are flexible and user-friendly. Fully illustrated with examples and relevant use-cases, this essential guide covers patterns for API fundamentals and real-world system designs, along with quite a few not-so-common scenarios and edge-cases.
about the technology
API design patterns are a useful set of best practice specifications and common solutions to API design challenges. Using accepted design patterns creates a shared language amongst developers who create and consume APIs, which is especially critical given the explosion of mission-critical public-facing web APIs. API Patterns are still being developed and discovered. This collection, gathered and tested by Google API expert JJ Geewax, is the first of its kind.
about the book
API Design Patterns draws on the collected wisdom of the API community, including the internal developer knowledge base at Google, laying out an innovative set of design patterns for developing both internal and public-facing APIs. In this essential guide, Google Software Engineer JJ Geewax provides a unique and authoritative catalog of patterns that promote flexibility and ease-of-use in your APIs. Each pattern in the catalog is fully illustrated with its own example API, use-cases for solving common API design challenges, and scenarios for tricky edge issues using a pattern’s more subtle features. With the best practices laid out in this book, you can ensure your APIs are adaptive in the face of change and easy for your clients to incorporate into their projects.
A full case-study of building an API and adding features
The guiding principles that underpin most API patterns
Fundamental patterns for resource layout and naming
Advanced patterns for special interactions and data transformations
about the reader
Aimed at software developers with experience using APIs, who want to start building their own.
As you consume and design APIs, it is imperative that you recognize and apply common patterns well. This book is a great resource for building up your "mental toolbox" in that regard.
This book is the first thing you should pick up when you need to write (or refactor) an API. The patterns are incredibly powerful and will improve your work tenfold.
I wish this book was already available when I first started designing REST APIs.
Now with this book, we can point to the patterns which are being abused and hold developers to a higher standard. A standard that is made ever clearer by the the work in this book.
A brilliant book for anyone who wants to understand and deep-dive into API design. This book should also be used as reference material for API designers who can revisit these fundamentals to design a robust system.
Before opening the pages to "API Design Patterns", I was familiar with and had practical experience in using API libraries, but the level of detail the author presents in the book opened my eyes to lots more possibilities.
After reading just randomly selected one chapter you can see that the author has reviewed and designed 100s of APIs. Super practical and super packed with a great content!
Not only did the book cover topics and patterns that I've never encountered (and might be considered edge-cases), but I even learned how to improve the ways in which I've implemented some of the more common, everyday patterns.