HOME > Development > Mastering REST APIs with FastAPI

Mastering REST APIs with FastAPI

  • Development
  • May 07, 2025
SynopsisMastering REST APIs with FastAPI, available at $79.99, has an...
Mastering REST APIs with FastAPI  No.1

Mastering REST APIs with FastAPI, available at $79.99, has an average rating of 4.62, with 82 lectures, based on 193 reviews, and has 1966 subscribers.

You will learn about Gain broad experience with FastAPI Understand how to test FastAPI apps using Pytest with 100% test coverage Become a master of logging with the built-in logging module Add user authentication with password hashing and Bearer tokens Use an async SQL database and model one-to-many and many-to-many relationships Send user emails when they register without a performance hit using background tasks Handle file uploads and store them in a third-party service Deploy your FastAPI apps to the cloud This course is ideal for individuals who are Software developers looking to expand their skill-set by learning to develop professional grade FAST APIs or Students wanting to extend the capabilities of mobile and web applications by using server-side technologies It is particularly useful for Software developers looking to expand their skill-set by learning to develop professional grade FAST APIs or Students wanting to extend the capabilities of mobile and web applications by using server-side technologies.

Enroll now: Mastering REST APIs with FastAPI

Summary

Title: Mastering REST APIs with FastAPI

Price: $79.99

Average Rating: 4.62

Number of Lectures: 82

Number of Published Lectures: 82

Number of Curriculum Items: 82

Number of Published Curriculum Objects: 82

Original Price: $149.99

Quality Status: approved

Status: Live

What You Will Learn

  • Gain broad experience with FastAPI
  • Understand how to test FastAPI apps using Pytest with 100% test coverage
  • Become a master of logging with the built-in logging module
  • Add user authentication with password hashing and Bearer tokens
  • Use an async SQL database and model one-to-many and many-to-many relationships
  • Send user emails when they register without a performance hit using background tasks
  • Handle file uploads and store them in a third-party service
  • Deploy your FastAPI apps to the cloud
  • Who Should Attend

  • Software developers looking to expand their skill-set by learning to develop professional grade FAST APIs
  • Students wanting to extend the capabilities of mobile and web applications by using server-side technologies
  • Target Audiences

  • Software developers looking to expand their skill-set by learning to develop professional grade FAST APIs
  • Students wanting to extend the capabilities of mobile and web applications by using server-side technologies
  • With FastAPI you can build complete, high-performance APIs in days, and adding new features is blazing-fast. That’s why FastAPI has become so popular in recent years.

    In this course, I’ll show you how to go from a blank slate to a complete, finished FastAPI application.

    The project

    We’ll build social media API with user authentication, email sending, and file upload. Users will be able to register and log in using Bearer (JWT) tokens. They will be able to create posts, leave comments, and like existing posts.

    We’ll use Pydantic for data validation and encode/databases as our database connectivity library.

    Advanced knowledge

    Use background tasks in FastAPI to improve performance when running slow code, such as when sending emails (covered in the course) or when making slow requests to third party APIs (also covered).

    Throughout the course we use an async database library, again to maximise performance, which is nonetheless straightforward to use. You’ll learn about the different types of data relationships and how to model them, including many-to-many relationships.

    You’ll learn how to handle file uploads and what to do with the uploaded files, so you don’t run out of server space.

    Complete API testing

    Finally, 100% of the code in this course has tests. You’ll use pytest extensively to write integration and unit tests for the API. You’ll learn about pytest fixtures, parametrization, and testing conventions.

    Part of real-world development means logging! There’s a lot of logging knowledge in this course, including how to set up the logging module properly, when to make logging calls, and where to store logs when your application is deployed.

    Deployments

    Of course, I’ll show you how to deploy your FastAPI app using popular service Render.  You can deploy your FastAPI app for free, but I’ll also show you some paid options for improved performance.

    We’ll also look at application management, error handling with Sentry, and CI/CD with GitHub Actions.

    If you use or want to use FastAPI, this course contains everything you need to develop complete, real-world APIs.

    Let’s get started. I’ll see you on the inside!

    Course Curriculum

    Chapter 1: Course Introduction

    Lecture 1: Community

    Lecture 2: Instructions – Join the Community

    Lecture 3: Welcome to this course!

    Lecture 4: Platform features and note-taking

    Lecture 5: You can do it!

    Lecture 6: What is an API?

    Lecture 7: What is REST?

    Chapter 2: Working with FastAPI

    Lecture 1: Introduction to this section

    Lecture 2: Your First FastAPI App

    Lecture 3: Initial App Setup

    Lecture 4: Linting, formatting and sorting imports

    Lecture 5: Our social media API: adding posts

    Lecture 6: Splitting our API into files with APIRouter

    Lecture 7: Adding comments to the social medical API

    Chapter 3: Introduction to pytest

    Lecture 1: Introduction to the pytest section

    Lecture 2: The basics of pytest

    Lecture 3: Getting started with FastAPI tests

    Lecture 4: Creating posts in our tests

    Lecture 5: Adding tests for posts

    Lecture 6: Adding comments tests

    Chapter 4: Working with async databases

    Lecture 1: Introduction to working with databases

    Lecture 2: Installing requirements for async databases in FastAPI

    Lecture 3: Creating a config file using Pydantic

    Lecture 4: Different configurations per environment in

    Lecture 5: Config caching and how to get the config object

    Lecture 6: Async database setup with FastAPI

    Lecture 7: Database connection with lifespan events in FastAPI

    Lecture 8: Run your FastAPI test in test mode

    Lecture 9: Using a database in our FastAPI router

    Chapter 5: Logging in FastAPI applications

    Lecture 1: Introduction to logging

    Lecture 2: Python logging: loggers, handlers, and formatters

    Lecture 3: Logger hierarchies and __name__

    Lecture 4: Adding Logging Configuration for FastAPI Applications

    Lecture 5: How to configure multiple loggers in the logging module

    Lecture 6: Adding File Handlers for Saving Logs

    Lecture 7: Add logging to your FastAPI endpoints

    Lecture 8: Python logging: filters and custom filters

    Lecture 9: Logging HTTPExceptions with an Exception Handler

    Lecture 10: Identifying logs from the same request: Correlation ID

    Lecture 11: Adding JSON-formatted log files

    Lecture 12: Obfuscating email addresses in logs using a custom filter

    Lecture 13: Adding Logtail for Cloud Logging in FastAPI

    Lecture 14: Enabling Logtail in only in production

    Chapter 6: User authentication with FastAPI

    Lecture 1: Introduction to user authentication

    Lecture 2: Installing requirements and, what are JWTs?

    Lecture 3: Adding a users table and retrieving users by email

    Lecture 4: Adding user registration and tests

    Lecture 5: Adding tests for the user registration endpoint

    Lecture 6: How to hash passwords with passlib

    Lecture 7: Generate the access token

    Lecture 8: Retrieve the current user with their token

    Lecture 9: Use the current user in the API router

    Lecture 10: Dependency injection: getting the user

    Lecture 11: Adding user relationships to other tables

    Lecture 12: (Optional) OAuth Password Bearer and Swagger Auth

    Chapter 7: Many-to-many relationships

    Lecture 1: Introduction to many-to many

    Lecture 2: Adding a table for post likes

    Lecture 3: Adding an API route to like posts

    Lecture 4: Extracting reusable queries with SQLAlchemy

    Lecture 5: Query string arguments and data sorting with Enum

    Chapter 8: User email confirmation

    Lecture 1: Creating the confirmation token

    Lecture 2: Decoding the confirmation token

    Lecture 3: Adding a user confirmation endpoint

    Lecture 4: Requiring user confirmation for authenticated requests

    Lecture 5: Mailgun set-up and configuration

    Lecture 6: Sending emails and testing with Python

    Lecture 7: Sending a confirmation email on registration

    Lecture 8: Sending emails with background tasks

    Chapter 9: File Uploads with FastAPI

    Lecture 1: Account setup for Backblaze B2

    Lecture 2: Our configuration for Backblaze B2

    Lecture 3: Internal library for Backblaze B2

    Lecture 4: Writing our file upload endpoint

    Lecture 5: Writing tests for file upload

    Chapter 10: Background Tasks for Image Generation

    Lecture 1: Model and database changes for image generation

    Lecture 2: Configuration for DeepAI, our third party service

    Lecture 3: Generating images using background tasks

    Lecture 4: Executing image generation in our FastAPI endpoint

    Chapter 11: FastAPI Deployments and Application Management

    Lecture 1: Updating our project to Pydantic v2

    Lecture 2: Deploy a FastAPI app to Render

    Lecture 3: Add a free PostgreSQL database to your FastAPI app

    Lecture 4: Error management with Sentry for FastAPI apps

    Lecture 5: Continuous Integration with GitHub Actions for Python apps

    Instructors

  • Mastering REST APIs with FastAPI  No.2
    Jose Salvatierra
    Founder of Teclado and Software Engineer
  • Rating Distribution

  • 1 stars: 4 votes
  • 2 stars: 4 votes
  • 3 stars: 12 votes
  • 4 stars: 54 votes
  • 5 stars: 120 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!