Overview
FastAPI is an open source, high-performance web framework for building APIs with Python. It is used by many large companies, such as Uber, Netflix, and Microsoft.
This instructor-led, live training (online or onsite) is aimed at developers who wish to use FastAPI with Python to build, test, and deploy RESTful APIs easier and faster.
By the end of this training, participants will be able to:
- Set up the necessary development environment to develop APIs with Python and FastAPI.
- Create APIs quicker and easier using the FastAPI library.
- Learn how to create data models and schemas based on Pydantic and OpenAPI.
- Connect APIs to a database using SQLAlchemy.
- Implement security and authentication in APIs using the FastAPI tools.
- Build container images and deploy web APIs to a cloud server.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Requirements
- An understanding of API concepts
- Python programming experience
Audience
- Developers
Course Outline
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