Book Image

Building Python Web APIs with FastAPI

By : Abdulazeez Abdulazeez Adeshina
Book Image

Building Python Web APIs with FastAPI

By: Abdulazeez Abdulazeez Adeshina

Overview of this book

RESTful web services are commonly used to create APIs for web-based applications owing to their light weight and high scalability. This book will show you how FastAPI, a high-performance web framework for building RESTful APIs in Python, allows you to build robust web APIs that are simple and intuitive and makes it easy to build quickly with very little boilerplate code. This book will help you set up a FastAPI application in no time and show you how to use FastAPI to build a REST API that receives and responds to user requests. You’ll go on to learn how to handle routing and authentication while working with databases in a FastAPI application. The book walks you through the four key areas: building and using routes for create, read, update, and delete (CRUD) operations; connecting the application to SQL and NoSQL databases; securing the application built; and deploying your application locally or to a cloud environment. By the end of this book, you’ll have developed a solid understanding of the FastAPI framework and be able to build and deploy robust REST APIs.
Table of Contents (14 chapters)
1
Part 1: An Introduction to FastAPI
6
Part 2: Building and Securing FastAPI Applications
10
Part 3: Testing And Deploying FastAPI Applications

Chapter 8: Testing FastAPI Applications

In the last chapter, we learned how to secure a FastAPI application using OAuth and JSON Web Token (JWT). We successfully implemented an authentication system and learned what dependency injection is all about. We also learned how to inject dependencies into our routes to restrict unauthorized access and operations. We have successfully built a secure web API that has database support and is able to perform CRUD operations easily. In this chapter, we will learn what testing is and how to write tests to ensure that our application behaves as expected.

Testing is an integral part of the application development cycle. Application testing is done to ensure the correct functioning state of the application and easily detect anomalies in the application before deploying to production. Although we have been manually testing our application’s endpoint in the last few chapters, we will be learning how to automate these tests.

By the end of...