Design and Build Great Web APIs: Robust, Reliable, and Resilient

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

APIs are transforming the business world at an increasing pace. Gain the essential skills needed to quickly design, build, and deploy quality web APIs that are robust, reliable, and resilient. Go from initial design through prototyping and implementation to deployment of mission-critical APIs for your organization. Test, secure, and deploy your API with confidence and avoid the "release into production" panic. Tackle just about any API challenge with more than a dozen open-source utilities and common programming patterns you can apply right away. Good API design means starting with the API-First principle - understanding who is using the API and what they want to do with it - and applying basic design skills to match customers' needs while solving business-critical problems. Use the Sketch-Design-Build method to create reliable and scalable web APIs quickly and easily without a lot of risk to the day-to-day business operations. Create clear sequence diagrams, accurate specifications, and machine-readable API descriptions all reviewed, tested, and ready to turn into fully-functional NodeJS code. Create reliable test collections with Postman and implement proper identity and access control security with AuthO-without added cost or risk to the company. Deploy all of this to Heroku using a continuous delivery approach that pushes secure, well-tested code to your public servers ready for use by both internal and external developers. From design to code to test to deployment, unlock hidden business value and release stable and scalable web APIs that meet customer needs and solve important business problems in a consistent and reliable manner.

Author(s): Mike Amundsen
Edition: 1
Publisher: Pragmatic Bookshelf
Year: 2020

Language: English
Commentary: Vector PDF
Pages: 344
City: Raleigh, NC
Tags: Security; Web Applications; Deployment; API Design; Testing; Prototyping; REST API

Cover
Table of Contents
Acknowledgments
Preface
Your API Journey
Who Should Read This Book
How This Book Is Organized
What’s Covered (And What’s Not)
About the BigCo, Inc., Sample Project
Online Resources
Part I—Getting Started
1. Getting Started with API First
Adopting the API-First Principle
Exploring APIs with curl
What’s Next?
Chapter Exercise
2. Understanding HTTP, REST, and APIs
Understanding Web API Protocols, Practices, and Styles
Managing Files with Git
What’s Next?
Chapter Exercise
Part II—The Design Phase
3. Modeling APIs
Understanding Norman’s Action Lifecycle
Modeling Our Onboarding API Lifecycle
Managing Your Project with npm
What’s Next?
Chapter Exercise
4. Designing APIs
The Power of Design
The API Design Method
Identifying Your API Descriptors
Creating Your Sequence Diagram
What’s Next?
Chapter Exercise
5. Describing APIs
Learning the Role of Description Formats
Describing Your API with ALPS
Updating Your API Project
What’s Next?
Chapter Exercise
Part III—The Build Phase
6. Sketching APIs
Learning from Frank Gehry’s Sketches
API Sketching Example
The Advantages of Sketching
Sketching APIs with Apiary Blueprint
API Sketching Tips and Tricks
What’s Next?
Chapter Exercise
7. Prototyping APIs
What Is an API Prototype?
API Prototyping with OpenAPI
Translating Your API Design into HTTP
Creating Your OpenAPI Document with SwaggerHub
Saving and Exporting Your API
Mocking Your API
Generating Your API Documentation
What’s Next?
Chapter Exercise
8. Building APIs
Defining the API Build Process
Relying on a Repeatable Process
Coding APIs with NodeJS and DARRT
Putting It All Together
What’s Next?
Chapter Exercise
Part IV—The Release Phase
9. Testing APIs
The Goals of API Testing
Testing with SRTs
Using Postman for API Testing
Running Tests Locally with Newman
What’s Next?
Chapter Exercise
10. Securing APIs
Understanding Security Basics
Implementing API Security with Auth0
Supporting Machine-to-Machine Security
What’s Next
Chapter Exercise
11. Deploying APIs
The Basics of Deployment Pipelines
The Role of DevOps
Deploying with Heroku
What’s Next?
Chapter Exercise
12. Modifying APIs
Going Beyond Versioning
The Three Rules for Safely Modifying APIs
The Recommended Pattern for Testing for API Changes
The Process for Safely Deploying APIs
Shutting Down an Existing API
What’s Next?
13. Some Parting Thoughts
Getting Started
The Design Phase
The Build Phase
The Release Phase
What’s Next?
Part V—Appendixes
A1. Installation Hints
curl
Git
GitHub and SSH
NodeJS and npm
Postman
Newman
Heroku Client
Installing the Local Utiltities
A2. Exercise Solutions
Where’s the Code?
Solution for Chapter 1: Getting Started with API First
Solution for Chapter 2: Understanding HTTP, REST, and APIs
Solution for Chapter 3: Modeling APIs
Solution for Chapter 4: Designing APIs
Solution for Chapter 5: Describing APIs
Solution for Chapter 6: Sketching APIs
Solution for Chapter 7: Prototyping APIs
Solution for Chapter 8: Building APIs
Solution for Chapter 9: Testing APIs
Solution for Chapter 10: Securing APIs
Solution for Chapter 11: Deploying APIs
A3. API Project Assets Checklist
Using the API Project Assets Checklist
Notes on the Assets Checklist
Your API Project Assets Checklist
Index
– SYMBOLS –
– A –
– B –
– C –
– D –
– E –
– F –
– G –
– H –
– I –
– J –
– K –
– L –
– M –
– N –
– O –
– P –
– Q –
– R –
– S –
– T –
– U –
– V –
– W –
– Y –
– Z –