API Design Patterns, Video Edition

API Design Patterns, Video Edition

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 117 Lessons (16h 38m) | 1.31 GB

A collection of best practices and design standards for web and internal APIs.

In API Design Patterns you will find:

  • 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 your specific needs. Hands-on examples and relevant use-cases illustrate patterns for API fundamentals, advanced functionalities, and even uncommon scenarios.

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 to use. This book collects and explains the most important patterns from both the API design community and the experts at Google.

API Design Patterns lays out a set of design 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.

A concept-rich book on API design patterns. Deeply engrossing and fun to read.
Satej Sahu, Honeywell

Table of Contents

1 Part 1. Introduction
2 Introduction to APIs
3 What are resource-oriented APIs
4 Expressive
5 Introduction to API design patterns
6 Why are API design patterns important
7 Anatomy of an API design pattern
8 Case study – Twapi, a Twitter-like API
9 Exporting data
10 Part 2. Design principles
11 Naming
12 Language, grammar, and syntax
13 Syntax
14 Case study – What happens when you choose bad names
15 Resource scope and hierarchy
16 Types of relationships
17 Choosing the right relationship
18 References or in-line data
19 Anti-patterns
20 Data types and defaults
21 Booleans
22 Bounds
23 Strings
24 Enumerations
25 Maps
26 Part 3. Fundamentals
27 Resource identification
28 Permanent
29 What does a good identifier look like
30 Checksums
31 Implementation
32 Tomb-stoning
33 What about UUIDs
34 Standard methods
35 Idempotence and side effects
36 List
37 Update
38 Replace
39 Partial updates and retrievals
40 Implementation
41 Repeated fields
42 Implicit field masks
43 Trade-offs
44 Custom methods
45 Overview
46 Resources vs. collections
47 Long-running operations
48 Implementation
49 Resolution
50 Error handling
51 Pausing and resuming operations
52 Persistence
53 Rerunnable jobs
54 The custom run method
55 Part 4. Resource relationships
56 Singleton sub-resources
57 Implementation
58 Hierarchy
59 Cross references
60 Value vs. reference
61 Association resources
62 Uniqueness
63 Add and remove custom methods
64 Polymorphism
65 Polymorphic structure
66 Why not polymorphic methods
67 Part 5. Collective operations
68 Copy and move
69 Identifiers
70 Related resources
71 Inherited metadata
72 Atomicity
73 Batch operations
74 Ordering of results
75 Batch Delete
76 Criteria-based deletion
77 Validation only by default
78 Anonymous writes
79 Consistency
80 Pagination
81 Page tokens
82 Total count
83 Filtering
84 Structure
85 Filter syntax and behavior – Part 1
86 Filter syntax and behavior – Part 2
87 Filter syntax and behavior – Part 3
88 Importing and exporting
89 Implementation
90 Consistency
91 Failures and retries
92 Filtering and field masks
93 Part 6. Safety and security
94 Versioning and compatibility
95 Defining backward compatibility – Part 1
96 Defining backward compatibility – Part 2
97 Implementation
98 Semantic versioning
99 Trade-offs
100 Happiness vs. ubiquity
101 Soft deletion
102 Modifying standard methods
103 Expiration
104 Request deduplication
105 Response caching
106 Request validation
107 External dependencies
108 Resource revisions
109 Creating revisions
110 Restoring a previous revision
111 Request retrial
112 Server-specified retry timing
113 Retry After
114 Request authentication
115 Implementation
116 Request fingerprinting
117 Including the signature

Homepage