Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Building Python Web APIs with FastAPI
  • Toc
  • feedback
Building Python Web APIs with FastAPI

Building Python Web APIs with FastAPI

By : Abdulazeez , Abdulazeez Abdulazeez Adeshina
4.7 (9)
close
Building Python Web APIs with FastAPI

Building Python Web APIs with FastAPI

4.7 (9)
By: Abdulazeez , 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)
close
1
Part 1: An Introduction to FastAPI
6
Part 2: Building and Securing FastAPI Applications
10
Part 3: Testing And Deploying FastAPI Applications

Updating the application

In this section, we’ll update the routes to use the new authentication model. Lastly, we’ll update the POST route for adding an event to populate the events field in the user’s record.

Updating the user sign-in route

In routes/users.py, update the imports:

from fastapi import APIRouter, Depends, HTTPException, status
from fastapi.security import OAuth2PasswordRequestForm
from auth.jwt_handler import create_access_token
from models.users import User

We have imported the OAuth2PasswordRequestForm class from FastAPI’s security module. This will be injected into the sign-in route to retrieve the credentials sent over: username and password. Let’s update the sign_user_in() route function:

async def sign_user_in(user: OAuth2PasswordRequestForm = Depends()) -> dict:
    user_exist = await User.find_one(User.email == 
    user.username)
    ..
  ...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete