Build APIs You Won't Hate: Second Edition
Build APIs You Won't Hate: Second Edition
Learn how to build and leverage the latest technology in APIs, services, microservices, distributed systems, HATEOAS, query languages, circuit breakers, gateways, discombobulators, flux capacitors, spider monkeys...
About the Book
APIs have increased in popularity substantially over the last decade, from people just starting to build "the API" for their company,all the way to now where even small teams are building out multiple APIs and getting into distributed architectures with microservices. Many folks start building and building and after they have a few services in place they realize that everything is a mess and nobody knows what they are dong. We've all been there; somebody you didn't know changed a field you didn't know existed in an API you have never heard of, and now the men in suits have come downstairs to see why their company is on the news because of downtime issues in Australia mean nobody's keycard is working so nobody can use the bathroom.
Eventually a new tool pops up which promises to help with all those problems and people rush to rewrite everything in that tool, creating brand new terrible design decisions and losing all the valuable learning's from the last previous mistakes.
Let's fix this cycle, by focusing on API theory in general, and then zoom in on how these things are done in HTTP in general, REST, GraphQL and gRPC - three popular approaches to building APIs right now.
The book is broken into five parts:
- Theory
- Planning & Design
- Building & Testing
- Management & Experience
- Further Theory
The theory section will teach you a lot about API development in general, without tying your knowledge to a specific tool (tools change!) Learn about how HTTP/2 and HTTP/3 change API development entirely. Never heard of HTTP/3? Yeah! Many developers have only heard of HTTP/2 in passing, but it changes everything about API development.
Then we get into designing APIs using description formats like OpenAPI and AsyncAPI, using GUI editors to easily create description documents. These description documents can be used to create realistic mock APIs for folks to play with and confirm things work right before you start wasting your time writing code incorrectly. Design first is a beautiful thing.
Building and testing will very briefly help you pick the right collection of tools to put together to achieve the functionality you need, with examples in a bunch of different languages, before very quickly moving onto testing. The concepts of testing will last forever even though the tools change, so spending more time there will allow you to swap out the building blocks and keep on developing for a long time.
Management and developer experience could almost be its own book, the world of API Gateways are crucial these days, to avoid you repeating a bunch of cruft between all your APIs, leading to pointlessly inconsistent authentication experiences, different rate limiting policies, etc. The practices needed to make a good Developer Portal are haaaaaaaaard, but very important if you plan on opening your API to the public. Learn how these things can all fit togehter, with Governance coming into play to help ensure quality.
There's gonna be a lot of stuff in this book folks. My fingers may never be the same again.
Table of Contents
Part One: Theory
- APIs, Services, and Microservices
- Understanding Different Paradigms
- API Contracts
- Design Theory
- Resources
- Collections
- Serialization
- Deserialization
- Pagination
- Filtering
- Caching
- Hypermedia Controls (HATEOAS)
- Errors and Validation
- HTTP/1, HTTP/2 and HTTP/3
- Asynchronous Methodologies
- Authentication
- Security
Part Two: Planning & Design
- Editors
- Mocking
- Documentation
- Style Guides
Part Three: Development & Testing
- Building Blocks
- Debugging
- Traffic Inspection
- Integration Testing
- Contract Testing
- End to End / Acceptance Testing
- Health Checks
- Load Testing
- Testing in Production
- Notes on Deployment
Part Four: Management & Experience
- Portals & Documentation
- API Gateways
- Gateway Validation
- Rate Limiting
- Analytics
- Governance
- Deprecation
- Versioning & Evolution
Part Five: Further Theory
- Picking Paradigms
- Common Architectures
- REST wrapping Microservices
- Backend for Frontends (BFFs)
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.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 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.
Learn more about Leanpub's ebook formats and where to read them