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.
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.
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.
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
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