Introduction
The Fundamentals of APIs and Their Functionality
- Scalar types
- Web architecture patterns
REST Overview
- Get option
- Pull option
- Post option
- Delete option
Preparing the Development Environment
- Installing and configuring LoopBack
Models and Data Sources
- Creating and testing a model
- Connecting to data sources
Authentication
- Authenticating endpoints
- Creating a public route
- Using ACL
- Adding login
Security
- Locking down REST web services
Summary and Conclusion
Introduction
- FastAPI vs Django vs Flask
- Overview of FastAPI features and advantages
Getting Started
- Installing FastAPI
- Defining a schema using OpenAPI
Path and Query Parameters
- Declaring path parameter types
- Parsing and validating data
- Declaring required and optional parameters
- Converting query parameter types
- Multiple path and query parameters
Declaring a Request Body with Pydantic Models
- Creating a data model
- Combining path, query, and body parameters
- Declaring validations and metadata
- Using deeply nested models
- Defining example data
- Response and extra models
Defining Forms and Files
- Using form fields instead of JSON
- Creating file parameters
- Using file and form parameters
Handling Errors
- Using HTTPException
- Adding custom headers
- Installing custom exception handlers
- Overriding default exception handlers
Working with Databases
- ORMs and file structure
- Creating SQLAlchemy parts
- Creating database models
- Creating Pydantic models
- Performing CRUD operations
- Creating tables, dependency, and path operations
- Reviewing and checking files
- Interacting with the database
Security and Authentication
- Using Oauth2 and OpenID connect
- Defining multiple security schemes with OpenAPI
- Using the FastAPI utilities
Deployments
- Deployment concepts, stages, and tools
- Working with Gunicorn and Uvicorn
- Using container systems (Docker and Kubernetes)
Troubleshooting
Summary and Next Steps