A Practical Approach to API Design
A Practical Approach to API Design
From Principles to Practice
About the Book
If you read the tech press, everyone knows they need an API but most aren't really sure what it is. They treat it as another checkbox like "Web 2.0" was a few years ago or a mobile app was most recently. In fact, there's an entire "API-first" movement in development circles that most people don't understand or even realize why. In this book, we'll start by discussing the what an API is, why you might need one, and follow up with the how to build one.
With addition of our Appendix on API Design Patterns and numerous other design tips, this book is complete. Regardless, we're always open to additional sections, concepts, and questions so don't hesitate to drop us a note. Further, when you find something interesting, let us know. If you think we’re wrong, say so. If you think we’re right, tell your friends. If you want us to teach your team more and deeper concepts, please let us know.
This is a 5-book team package of A Practical Approach to API Design.
Chapter 1 - APIs: An Introduction
- What is an API
- Why you should have an API
Chapter 2 - Principles of Pragmatic API Design
- API or SOA?
- API and SOA: Extend and Accelerate
- REST vs. SOAP
- APIs for Existing Applications
Chapter 3 - Beyond CRUD
- Building APIs for Business Workflows
- Why you should trust others’ APIs
Chapter 4 - The API Modeling Process
- Summary of the Steps
- Step 1: Identify the Participants
- Step 2: Identify the Activities
- Step 3: Break Each Activity Into Steps
- Step 4: Create and Group API Methods
- Step 5: Validate the API By Testing
- Common Questions About API Modeling
- Next Step: Design
Chapter 5 - The Principles of HTTP and REST
- HTTP Core Concepts
- Web APIs and the Richardson Maturity Model
- Back to Basics: The 6 REST Constraints
- The Next Steps
Chapter 6 - From Modeling to RESTful Design
- Building Your Resource Taxonomy
- Defining Resource Lifecycles
- Mapping Response Codes For Success and Failure
- Expanding Resources Through Hypermedia Linking
- Common Questions About API Design
- Next steps
Chapter 7 - Message Formats
- Hypermedia Specifications
- Selecting a Data Storage Strategy
Chapter 8 - Documenting Your API
- The Hidden Value of API Documentation
- API Definition Formats
- Beyond API Reference Documentation
Chapter 9 - Prototyping Your API
- Static Prototyping
- Building a Working Prototype
Chapter 10 - API Product Management
- The API-First Organization
- Front-End, Back-End, and Full Stack Developers
- Partitioning API Teams
- Accelerating API Integration
Chapter 11 - Authentication & Authorization
Appendix A - API Design Patterns
- API Security
- Bulk and Batch
- Deleting Resources
- Error Handling
- Extended Resource Lifecycle
- Functional Endpoints
- Singleton Resources
- Transactional Resources
Appendix B - Additional Resources
- News & Information
- White Papers & Industry Reports
The Leanpub 60-day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
80% Royalties. Earn $16 on a $20 book.
We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.