Follow real-world API projects from concept to production, and learn hands-on how to describe and design APIs using OpenAPI. In
Designing APIs with Swagger and OpenAPI you will learn how to:
Understand OpenAPI syntax and structure
Use Swagger and other tooling to create OpenAPI definitions
Design authentication and authorization
Turn an OpenAPI description into online documentation
Automate processes and generating code
Iterate an API design with user stories
Build a frontend against a mock server
Generate backend code with Swagger Codegen
Versioning an API and dodging breaking changes
Work with cross-functional teams
Designing APIs with Swagger and OpenAPI is a comprehensive guide to designing and describing your first RESTful API using the most widely adopted standards. Following expert instruction from Swagger core contributor Josh Ponelat and API consultant Lukas Rosenstock, you'll spend each chapter progressively expanding the kind of APIs you'll want to build in the real world. You'll utilize OpenAPI and Swagger to help automate your workflow, and free up your time to work on more exciting features. Learn the syntax and structure of OpenAPI definitions, create and iterate on an API design with common tools, and release your API to the public.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the technology
Create web APIs that customers and developers will love! Using Swagger, a collection of tools for defining and documenting REST APIs, you will build safe, controlled access to your software. And because Swagger implements the vendor-neutral OpenAPI specification, you'll be building to the same standards adopted by Google, Microsoft, and Amazon.
About the book
Designing APIs with Swagger and OpenAPI introduces a design-first approach. Written for developers new to API design, it follows the lifecycle of an API project from concept to production. You'll explore the dos and don'ts of APIs through progressively complete examples. You'll get hands-on experience designing APIs for specific business needs, using open source tools to generate documentation, and building developer-friendly components like mocks and client SDKs.
What's inside
OpenAPI syntax and structure
Using Swagger to create OpenAPI definitions
Automating processes and generating code
Working with cross-functional teams
About the reader
For web developers. No prior knowledge of Swagger or OpenAPI required.
About the author
Josh Ponelat is the Swagger Open Source lead at SmartBear.
Lukas Rosenstock is an independent software developer and API consultant.
Table of Contents
PART 1 DESCRIBING APIS
1 Introducing APIs and OpenAPI
2 Getting set up to make API requests
3 Our first taste of OpenAPI definitions
4 Using Swagger Editor to write OpenAPI definitions
5 Describing API responses
6 Creating resources
7 Adding authentication and authorization
8 Preparing and hosting API documentation
PART 2 DESIGN-FIRST
9 Designing a web application
10 Creating an API design using OpenAPI
11 Building a change workflow around API design-first
12 Implementing frontend code and reacting to changes
13 Building a backend with Node.js and Swagger Codegen
14 Integrating and releasing the web application
PART 3 EXTENDING APIS
15 Designing the next API iteration
16 Designing schemas with composition in OpenAPI
17 Scaling collection endpoints with filters and pagination
18 Supporting the unhappy path: Error handling with problem+json
19 Improving input validation with advanced JSON Schema
20 Versioning an API and handling breaking changes
21 The API prerelease checklist
Author: Joshua S. Ponelat, Lukas L. Rosenstock
Publisher: Manning Publications
Published: 07/05/2022
Pages: 424
Binding Type: Paperback
Weight: 1.35lbs
Size: 9.20h x 7.40w x 1.10d
ISBN: 9781617296284
About the AuthorJosh Ponelat is a senior architect working with the Swagger/OpenAPI team at SmartBear. He's based out of Plettenberg Bay, South Africa with his two labradors.
Lukas Rosenstock is an independent software developer, technical writer, API consultant, and entrepreneur who has a decade of experience working in and with startups.