Skip to main content
CF

Building APIs with FastAPI

1h 35m 40s
English
Paid

Learn API Development with FastAPI

An API is the backbone of any modern data platform, allowing you to either offer your services to clients or leverage external services yourself. Mastering the art of working with APIs is crucial, and this course is designed to equip you with the foundational skills for designing, developing, and deploying APIs using FastAPI. FastAPI is a modern Python framework tailor-made for rapid API creation and testing. Additionally, you'll learn how to use Docker for deployment and Postman for API testing.

Understanding API Basics

Gain a comprehensive understanding of what an API is, its necessity, and the role it plays in client-server interactions. Dive into the REST architecture and grasp its four essential principles. Learn about HTTP methods such as GET and POST, the types of data transmitted via APIs, how to decode server response codes, and how to effectively use API parameters.

Setting Up Your Environment and Preparing Data

Set up a development environment with tools like WSL2, Python, Visual Studio Code, and FastAPI. Prepare a dataset that you'll use while constructing your API, ensuring you have a solid foundation for your API development tasks.

Designing Your API

Learn to architect the API by defining resources, methods, and schemas based on your data. Get introduced to OpenAPI and Swagger Editor, powerful tools for documenting and visualizing your API interfaces, ensuring a robust and user-friendly design.

Hands-On Development Experience

Practice creating simple yet functional API endpoints, such as POST customer, GET customer, and GET invoice. Understand the fundamental structure of a typical API and learn to organize your code according to industry best practices.

Deploying and Testing with Docker and Postman

Discover how to package your application into a Docker container and deploy it efficiently. Use Postman, a leading tool for API testing, to ensure your APIs are functioning as expected, making your development and deployment process seamless.

Additional

https://github.com/team-data-science/apis-with-fastapi

About the Author: Andreas Kretz

Andreas Kretz thumbnail

Andreas Kretz is a German data engineer and one of the most widely followed independent voices on data engineering as a career discipline. He runs the Plumbers of Data Science brand and has been publishing tutorial material continuously since the field consolidated around the modern lake-house stack (Spark, Kafka, Snowflake, Databricks, Airflow).

His CourseFlix listing is the largest single-author catalog under this source — over thirty courses spanning data-pipeline construction, streaming architectures, the cloud-native data stack on AWS / Azure / GCP, the Python and Scala tooling that dominates the field, and the soft-skills / career side of breaking into data engineering. Material is paid and aimed at engineers transitioning into data work or already-working data engineers picking up specific tools.

Watch Online 21 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 21 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Introduction
All Course Lessons (21)
#Lesson TitleDurationAccess
1
Introduction Demo
02:18
2
What are APIs and what are they used for
08:30
3
Hosting vs using APIs
04:09
4
Methods and Media Types
06:57
5
HTTP response code
05:23
6
API Parameters
04:19
7
Setup environment with WSL2, VS Code & FastAPI
04:56
8
Testing FastAPI
03:22
9
The dataset we use
02:42
10
API Design
04:27
11
Schema implementation preview
05:04
12
OpenAPI & Swagger
05:15
13
POST Customer API
06:24
14
Get Customer API
03:06
15
POST Create Customer Invoice API
06:51
16
GET Invoice API
02:04
17
GET All Invoices for Customer API
03:11
18
Setup Docker and Deploy on WSL2
06:02
19
Testing the APIs with Postman
04:23
20
Security
03:49
21
Conclusion
02:28
Unlock unlimited learning

Get instant access to all 20 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What are the prerequisites for enrolling in this course?
This course assumes a basic understanding of Python, as FastAPI is a Python framework. Familiarity with HTTP methods and REST architecture is beneficial, but not required, as these topics are covered in the initial lessons. Setting up your environment will require basic knowledge of tools like Visual Studio Code and WSL2.
What projects or exercises will I work on during the course?
Throughout the course, you will construct an API using a prepared dataset. You will implement various endpoints such as POST and GET for customer and invoice APIs. Additionally, you will deploy your API using Docker and test it with Postman, providing a comprehensive, hands-on development experience.
Who is the target audience for this course?
The course is ideal for developers who want to gain foundational skills in API development using FastAPI. It is particularly suited for those interested in learning how to design, develop, and deploy APIs efficiently and who wish to leverage modern tools like Docker and Postman for testing and deployment.
How does this course compare to other API development courses?
This course focuses specifically on FastAPI, a modern and efficient Python framework. Unlike some general API courses, it includes detailed instruction on setting up development environments, using OpenAPI and Swagger for documentation, and deploying with Docker. The course also emphasizes practical testing with Postman.
What specific tools and platforms will I learn to use?
You will learn to use FastAPI for building APIs, Docker for deployment, and Postman for testing. The course also covers setting up your development environment with WSL2 and Visual Studio Code, and using OpenAPI and Swagger Editor for API documentation.
What topics are not covered in this course?
The course does not cover advanced API topics such as GraphQL, advanced security protocols beyond basic security strategies, or in-depth database integration. It focuses primarily on RESTful APIs using FastAPI and essential tools for deployment and testing.
How much time should I expect to dedicate to this course?
The course consists of 21 lessons. While the exact runtime is not specified, it is recommended to allocate additional time for hands-on exercises and setting up the development environment. The time commitment will vary based on your familiarity with the prerequisites and your pace in completing the exercises.