0
0
FastAPIframework~30 mins

Async path operations in FastAPI - Mini Project: Build & Apply

Choose your learning style9 modes available
Async Path Operations with FastAPI
📖 Scenario: You are building a simple web API using FastAPI to handle user data asynchronously. This API will have endpoints to get user information and add new users without blocking the server.
🎯 Goal: Create a FastAPI app with asynchronous path operations to get a list of users and add a new user asynchronously.
📋 What You'll Learn
Create a FastAPI app instance named app
Create an initial list called users with two user names: 'alice' and 'bob'
Add a configuration variable max_users set to 5
Create an async GET path operation at /users that returns the users list
Create an async POST path operation at /users that accepts a username string and adds it to users if the list length is less than max_users
💡 Why This Matters
🌍 Real World
APIs often need to handle multiple requests at the same time without waiting. Using async path operations in FastAPI helps build fast and scalable web services.
💼 Career
Understanding async path operations is essential for backend developers working with modern Python web frameworks like FastAPI to build efficient APIs.
Progress0 / 4 steps
1
Create initial data and FastAPI app
Create a FastAPI app instance called app and a list called users with the exact entries 'alice' and 'bob'.
FastAPI
Need a hint?

Use app = FastAPI() to create the app and assign the list ['alice', 'bob'] to users.

2
Add configuration variable
Add a variable called max_users and set it to the integer 5.
FastAPI
Need a hint?

Simply write max_users = 5 below the users list.

3
Create async GET path operation
Create an async GET path operation at /users using the decorator @app.get("/users"). Define an async function called get_users that returns the users list.
FastAPI
Need a hint?

Use @app.get("/users") decorator and define async def get_users(): that returns users.

4
Create async POST path operation to add user
Create an async POST path operation at /users using @app.post("/users"). Define an async function called add_user that accepts a parameter username: str. Inside the function, check if the length of users is less than max_users. If yes, append username to users and return a dictionary {"message": "User added"}. Otherwise, return {"message": "User limit reached"}.
FastAPI
Need a hint?

Use @app.post("/users") and define async def add_user(username: str):. Check the length of users and append if below max_users.