"A concept-rich book on API design patterns. Deeply engrossing and fun to read." - Satej Sahu, Honeywell
API Design Patterns lays out a set of design principles for building internal and public-facing APIs.
In API Design Patterns you will learn:
Guiding principles for API patterns
Fundamentals of resource layout and naming
Handling data types for any programming language
Standard methods that ensure predictability
Field masks for targeted partial updates
Authentication and validation methods for secure APIs
Collective operations for moving, managing, and deleting data
Advanced patterns for special interactions and data transformations
API Design Patterns reveals best practices for building stable, user-friendly APIs. These design patterns can be applied to solve common API problems and flexibly altered to fit specific needs. Hands-on examples and relevant cases illustrate patterns for API fundamentals, advanced functionalities, and uncommon scenarios.
Foreword by Jon Skeet.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the technology
APIs are contracts that define how applications, services, and components communicate. API design patterns provide a shared set of best practices, specifications and standards that ensure APIs are reliable and simple for other developers. This book collects and explains the most important patterns from both the API design community and the experts at Google.
About the book
API Design Patterns lays out a set of principles for building internal and public-facing APIs. Google API expert JJ Geewax presents patterns that ensure your APIs are consistent, scalable, and flexible. You’ll improve the design of the most common APIs, plus discover techniques for tricky edge cases. Precise illustrations, relevant examples, and detailed scenarios make every pattern clear and easy to understand.
What's inside
Guiding principles for API patterns
Fundamentals of resource layout and naming
Advanced patterns for special interactions and data transformations
A detailed case-study on building an API and adding features
About the reader
For developers building web and internal APIs in any language.
About the author
JJ Geewax is a software engineer at Google, focusing on Google Cloud Platform, API design, and real-time payment systems. He is also the author of Manning’s Google Cloud Platform in Action.
Table of Contents
PART 1 INTRODUCTION
1 Introduction to APIs
2 Introduction to API design patterns
PART 2 DESIGN PRINCIPLES
3 Naming
4 Resource scope and hierarchy
5 Data types and defaults
PART 3 FUNDAMENTALS
6 Resource identification
7 Standard methods
8 Partial updates and retrievals
9 Custom methods
10 Long-running operations
11 Rerunnable jobs
PART 4 RESOURCE RELATIONSHIPS
12 Singleton sub-resources
13 Cross references
14 Association resources
15 Add and remove custom methods
16 Polymorphism
PART 5 COLLECTIVE OPERATIONS
17 Copy and move
18 Batch operations
19 Criteria-based deletion
20 Anonymous writes
21 Pagination
22 Filtering
23 Importing and exporting
PART 6 SAFETY AND SECURITY
24 Versioning and compatibility
25 Soft deletion
26 Request deduplication
27 Request validation
28 Resource revisions
29 Request retrial
30 Request authentication