FastAPI Basics

Web DevelopmentFastAPIFree Lesson

Advertisement

Introduction

FastAPI is a modern, fast web framework for building APIs with Python 3.7+.

Basic App

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    name: str
    price: float
    in_stock: bool = True

@app.get("/")
def read_root():
    return {"message": "Hello World"}

@app.get("/items/{item_id}")
def read_item(item_id: int):
    return {"item_id": item_id, "name": "Item"}

@app.post("/items/")
def create_item(item: Item):
    return item

Path Parameters

@app.get("/users/{user_id}")
def get_user(user_id: int):
    return {"user_id": user_id}

# Order matters - specific paths first
@app.get("/users/me")
def get_current_user():
    return {"user_id": "current"}

Query Parameters

@app.get("/items")
def read_items(skip: int = 0, limit: int = 10):
    return {"skip": skip, "limit": limit}

# Optional parameters
@app.get("/items")
def read_items(q: str | None = None):
    return {"q": q}

Practice Problems

  1. Create CRUD endpoints
  2. Use path and query parameters
  3. Define request/response models
  4. Validate input data
  5. Add API documentation

Advertisement

Need Expert Python Help?

Get personalized tutoring, project support, or professional consulting.

Advertisement