Course Contents


Description

APIs are the cornerstone of every data platform. Either you host APIs that are used by clients, or you use external APIs. You have to know how to work with them.

In this course you learn all the necessary fundamentals of working with APIs. You will learn how to design APIs as well as how to code and deploy them with Docker. You will use the FastAPI framework for Python that is perfect for quick API development.


Sections

API Fundamentals

To start with the basics, we dig into some crucial API (Application Programming Interface) fundamentals. Learn what APIs are and what they are used for. Understand how they function as a way of client-server communication and why building APIs is so important for you as a platform creator and host. Get to know about REST (Representational State Transfer) API and its four major concepts and learn the difference between hosting and using an API to understand when to use which method.

Another topic in this section is methods and media types. Get to know the main HTTP methods, which let you interact with the API, and the media types, which let you define the transmitted data. In this context you also learn about HTTP response codes and API parameters.


Data & Environment Setup

Here, I explain to you how we set up our development environment by using Windows Subsystem Linux 2, which we need later for Docker and Python, and Visual Studio Code. Learn how to install Python and FastAPI by going through the first important steps and how you can test it. Last, I will show you which dataset we are going to use for the actual modeling of the API.


API Design

In this part, you learn how to design and build an API by using methods, based on the resources of your data set. I also give you a preview of how a final API documentation should look by going through a schema implementation and show you how to use OpenAPI and SwaggerEditor, which are some very helpful tools and specifications.


Hands-on Coding

We are also going to develop some code so you better understand how to actually work with FastAPI. Learn hands-on how to create features like “POST customer API”, “GET customer API” or “GET invoice API” and get a feeling for typical schemas and API designs. 


Deploying and Testing FastAPI with Docker and Postman

Last, I will show you a quick way of deploying and running all this on a server using a Docker container. You learn how to package your application in a Docker container and run it on your local pc. I also explain to you how to test your APIs with Postman, one of the standard tools for testing and very easy to use. 

In the end, you get some resources at hand where you can find further information on important security fundamentals and where to find security instructions on FastAPI.