This course is designed to provide an overview of OpenAPI v3.1, from the bare essentials to extending OpenAPI and Special Interest Groups.
- Chapter 1 - Introducing OpenAPI
- Chapter 2 - OpenAPI Basics
- Chapter 3 - Creating an OpenAPI Description
- Chapter 4 - Using an OpenAPI Description
- Chapter 5 - Extending OpenAPI
The following sections provide an outline of the course modules.
Understand the history of OpenAPI, its raison d’etre, and its place in the API economy.
- Introduction
- Chapter Overview
- Learning Objectives
- Introducing the API Economy
- The role of APIs
- APIs-as-Products
- Describing APIs
- Describing Software Interfaces
- What are API description languages?
- What does an API description language solve for?
- What API description languages are there?
- An Overview of OpenAPI
- What is OpenAPI?
- Other OpenAPI Initiative Specifications
- Knowledge Check
Understand the basic structure of an OpenAPI Description and how it reflects APIs published in the marketplace.
- Introduction
- Chapter Overview
- Learning Objectives
- HTTP, APIs and OpenAPI
- The role of HTTP
- Mapping OpenAPI to HTTP - Versions of OpenAPI
- High-Level Structure
- Structure Overview
- Providing Information
- Describing API Shape
- URLs, Paths, and Methods
- Model
- Describing Parameters, Requests and Responses
- Providing Parameters
- Creating Request and Response Objects
- Defining Reusable Objects
- Objects That Can Be Reused
- Example of Object Reuse
- Other Features
- Grouping Operations using Tags
- Describing Security Requirements
- Supported Security Requirements
- Security Requirement Example
- Using Specification Extensions
- Course Scope
- Features Not Covered
- Knowledge Check
Create an OpenAPI Description using both code-first and design-first methodologies.
- Introduction
- Chapter Overview
- Learning Objectives
- Using Design-first
- Why Design-first Works
- Creating an OpenAPI Description in Swagger Editor
- Adding an Info Object
- Adding a Response Payload
- Making a Response Reusable
- Returning Consistent Error Payloads
- Adding Tags to Operations
- Adding Security Requirements
- Other Information
- Complete Example
- Using Code-first
- Why Code-first Works
- Code-first using Java and springdoc-openapi
- Adding an Info Object
- Adding a Response Payload
- Adding Paths and Operations
- Comparing Design-first
- Code-first using Python and APIFlask
- Adding an Info Object
- Adding a Response Payload
- Adding Paths and Operations
- Code-first Tasks
- Delete a Pet resource
- Add a Tag
- Add a Link
- Deciding on Design-first versus Code-first
- What approach fits your needs?
- Taking a Lifecycle View
- Knowledge Check
Use an OpenAPI Description with a range of tools that help you throughout the API lifecycle.
#### Topics
- Introduction
- Chapter Overview
- Learning Objectives
- Using an OpenAPI Description and the API lifecycle
- The API Lifecycle
- Generating API Documentation
- Use Case for Generating API Documentation
- Example of Generating API Documentation
- Task: Generate API documentation using Redoc
- Generating an API client
- Use Case for Generating an API client
- Example of Generating an API Client
- Task: Generating an API Client using Kiota
- Applying Governance
- Use Case for Applying Governance
- Example of Applying Governance
- Task: Add Governance Rules to a Spectral Ruleset
- Knowledge Check
Understand how OpenAPI is extended in the ecosystem through Specification Extensions and Special Interest Groups.
- Introduction
- Chapter Overview
- Learning Objectives
- Using Specification Extensions
- What are Specification Extensions?
- Example: UK Open Banking
- Example: Redoc
- Example: Azure API Management
- Specification Extension Scope
- Overlay Specification
- Updating OpenAPI Descriptions
- Using the Overlay Specification
- How Overlay Helps in Updating OpenAPI Descriptions
- Workflows Specification
- Describing Sequences of API Calls
- Describing a Workflow
- Describing Steps
- How Workflows Helps in Making Multiple API Calls
- Knowledge Check